time () с clearTime - только сегодня в 12:00 - PullRequest
1 голос
/ 31 марта 2011

Какой самый быстрый (наиболее эффективный) способ получить это значение в PHP? time () дает мне полную метку времени с датой и временем

Ответы [ 4 ]

2 голосов
/ 31 марта 2011

Самая короткая версия кода будет

$midnight = strtotime("today midnight");

Что касается эффективности, вам придется сравнить ее. strtotime - огромный зверь под капотом, и хотя этот код компактен, он вполне может содержать тысячи строк кода внутри, чтобы выполнить то, что сделали бы несколько строк кода с объектом DateTime.

1 голос
/ 31 марта 2011

Перед использованием strtotime() убедитесь, что в конфигурации PHP вашего сервера задан правильный часовой пояс.

Проверьте это

echo date_default_timezone_get();

Это может быть проблемой, если вы используете localhost (иногда) или сервер в другой стране. Отметка времени не наблюдает за настройкой часового пояса, но функция strtotime () определенно работает!

если необходимо, установите часовой пояс из кода перед использованием strtotime(), date() или что-то подобное

date_default_timezone_set('America/New_York');

INJOY

1 голос
/ 31 марта 2011

Используя strtotime(), вы можете сделать:

$today = strtotime('00:00:00');

var_dump($today);
var_dump(date('Y-m-d H:i:s', $today));

И вы получите следующий вывод:

int 1301436000
string '2011-03-30 00:00:00' (length=19)


Или, используя DateTime класс:

$dt = new DateTime('00:00:00');

var_dump($dt->format('U'));
var_dump($dt->format('Y-m-d H:i:s'));

, который получит этот вывод:

string '1301436000' (length=10)
string '2011-03-30 00:00:00' (length=19)
0 голосов
/ 31 марта 2011

вы хотите изменить его в строку? дата выезда ()

http://php.net/manual/en/function.date.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...