[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Дата месяц и год
Leximus
Добрый день!

Интересует как можно вытащить дату, месяц и год из даты взятой из базы данных.

Следующий код вытаскивает 01 почемуто, хотя дата стоит текущая, а сегодня не первое число!

echo "Дата ".date("d", $row["cst_date"])."<br>";

Интересует так же сразу как месяц и год вытащить.
Причём желательно в разных форматах.
И можно как то вывести месяц не в числах а в названия, например
Январь, февраль... А ещё лушче и в склонениях Января, Февраля, Декабря???
Игорь_Vasinsky
Цитата
названия, например
Январь, февраль... А ещё лушче и в склонениях Января, Февраля, Декабря???

написать пользовательскую функцию для обработки даты.

_____________
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
Цитата (Игорь_Vasinsky @ 14.03.2013 - 10:51)
написать пользовательскую функцию для обработки даты.


Хорошо, я понял.
Но почему у меня при возврате Дня возвращает 01 вместо 14, и почему при 2013 году возвращает 1970 год.
Данные беру из MySQL тип поля timestamp .
Как мне правильно вывести День, месяц и год в числах?
Michael
У тебя в этом - $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
Цитата (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
Цитата (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
Измени в запросе:
select .... UNIX_TIMESTAMP(cst_date) as cst_date ...

_____________
There never was a struggle in the soul of a good man that was not hard
Leximus
Цитата (killer8080 @ 14.03.2013 - 11: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

Спасибо!!! Помогло!!!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.