Как я могу получить текущую метку времени в PHP - PullRequest
13 голосов
/ 22 января 2011

Я пытался

$dtToday = DateTime::createFromFormat('Y-m-d', date('Y-m-d'));

, но когда я выводил его

die($dtToday->format('d M Y g:i:s a'));

, я все еще получал время, например, "22 января 2011 16:53:59 вечера".Это почему?

ОБНОВЛЕНИЕ

Ах ... многие меня неправильно поняли, мой плохой, я забыл указать на главное.Я создал дату только с частью даты, я не хочу время.Так что я ожидаю что-то вроде

22 Jan 2011 12:00:00 am

Ответы [ 7 ]

15 голосов
/ 22 января 2011

Вы можете позвонить ->setTime(0, 0), чтобы обнулить часть времени:

$date = DateTime::createFromFormat('Y-m-d', '2011-01-22')->setTime(0, 0);
echo $date->format('d M Y g:i:s a');
// 22 Jan 2011 12:00:00 am
14 голосов
/ 22 января 2011

См. Документацию для DateTime::createFromFormat:

Если формат не содержит символ! тогда порции сгенерированного времени, которые не указаны в формате , будут установлены на текущее системное время.

Если вы выполните следующий вызов функции, вы получите ожидаемый результат:

$dtToday = DateTime::createFromFormat('!Y-m-d', date('Y-m-d'));
7 голосов
/ 22 января 2011

Вы можете сделать это, передав текущую метку времени Unix в качестве второго параметра функции даты

echo date("Y-m-d H:i:s",time());
5 голосов
/ 16 июля 2014

Сегодняшняя отметка времени начала

$today_start_ts = strtotime(date('Y-m-d', time()). '00:00:00');
1 голос
/ 22 января 2011

Вы получаете «22 января 2011 4:53:59 вечера», потому что по таким правилам вы форматируете дату:
d (день): 22 * ​​1002 * M (месяц): янв
Y(Год): 2011
г (12-часовой формат): 4
i (минуты): 53
с (секунды): 59
a (am / pm): pm
Beболее конкретно о формате вы бы хотели, чтобы у вас была метка времени.Я предлагаю вам взять пик на php date документация.

0 голосов
/ 22 января 2011

Удалите эту часть g:i:s a из своего кода.

Теперь, если вы хотите, чтобы хорошая дата была отформатирована в соответствии с местными условиями, я рекомендую вам использовать функцию strftime().

0 голосов
/ 22 января 2011

Используете ли вы UTC или что-то еще?

У меня есть версия PHP, которая выдает мне ошибку всякий раз, когда я что-то связываю с date без предварительного использования date_default_timezone_set. Может быть, это поможет вам.

...