Leximus
14.03.2013 - 14:40
Добрый день!
Интересует как можно вытащить дату, месяц и год из даты взятой из базы данных.
Следующий код вытаскивает 01 почемуто, хотя дата стоит текущая, а сегодня не первое число!
echo "Дата ".date("d", $row["cst_date"])."<br>";
Интересует так же сразу как месяц и год вытащить.
Причём желательно в разных форматах.
И можно как то вывести месяц не в числах а в названия, например
Январь, февраль... А ещё лушче и в склонениях Января, Февраля, Декабря???
Игорь_Vasinsky
14.03.2013 - 14:51
Цитата |
названия, например Январь, февраль... А ещё лушче и в склонениях Января, Февраля, Декабря??? |
написать пользовательскую функцию для обработки даты.
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Leximus
14.03.2013 - 14:54
Цитата (Игорь_Vasinsky @ 14.03.2013 - 10:51) |
написать пользовательскую функцию для обработки даты. |
Хорошо, я понял.
Но почему у меня при возврате Дня возвращает 01 вместо 14, и почему при 2013 году возвращает 1970 год.
Данные беру из MySQL тип поля timestamp .
Как мне правильно вывести День, месяц и год в числах?
Michael
14.03.2013 - 15:16
У тебя в этом - $row["cst_date"] - ничего нет поэтому и пишет 01 1970.
Чтобы в разных форматах, маску надо задать другую. Например date('Y-m-d')
подробнее
_____________
There never was a struggle in the soul of a good man that was not hard
killer8080
14.03.2013 - 15:20
Цитата (Leximus @ 14.03.2013 - 12:54) |
Но почему у меня при возврате Дня возвращает 01 вместо 14, и почему при 2013 году возвращает 1970 год. |
потому что date принимает вторым аргументом метку времени, а не строку с датой. Сначала нужно её преобразовать с помощью strtotime(), а лучше сразу брать из базы в нужном виде, в mysql есть своя функция форматирования даты и времени
http://dev.mysql.com/doc/refman/5.6/en/dat...ion_date-format
Leximus
14.03.2013 - 15:28
Цитата (Michael @ 14.03.2013 - 11:16) |
У тебя в этом - $row["cst_date"] - ничего нет поэтому и пишет 01 1970. Чтобы в разных форматах, маску надо задать другую. Например date('Y-m-d') подробнее |
Ну как ничего нету, если при выводе echo $row["cst_date"]."<br>";
Выводится следующее 2013-03-14 12:59:00
Значит есть... И я эту дату и пытаюсь разными форматами вывести только день, только месяц и только год.
Michael
14.03.2013 - 15:35
Измени в запросе:
select .... UNIX_TIMESTAMP(cst_date) as cst_date ...
_____________
There never was a struggle in the soul of a good man that was not hard