Intereting Posts

Получение отметки времени на сегодня в полночь?

Как я могу получить временную метку в php на сегодня в полночь. Скажите, что в понедельник 5 вечера, и мне нужна отметка времени для понедельника (сегодня) в полночь (12 часов утра), которая уже произошла.

спасибо

$timestamp = strtotime('today midnight'); 

Вы можете посмотреть, что может предложить PHP: http://php.net/datetime

Я думаю, что вы должны использовать новый объект PHP DateTime, поскольку у него нет проблем с датами, выходящими за пределы 32-битных ограничений, которые имеет strtotime (). Вот пример того, как вы получите сегодняшнюю дату в полночь.

 $today = new DateTime(); $today->setTime(0,0); 

Или, если вы используете PHP 5.4 или новее, вы можете сделать это следующим образом:

 $today = (new DateTime())->setTime(0,0); 

Затем вы можете использовать echo $today->format('Ym-d'); для получения формата, в котором вы хотите получить свой объект.

PHP DateTime Object

Сегодня в полночь. Легко.

 $stamp = mktime(0, 0, 0); 
 $today_at_midnight = strtotime(date("Ymd")); 

должен дать вам то, что вам нужно.

объяснение

То, что я сделал, это использовать функцию даты PHP, чтобы получить сегодняшнюю дату без каких-либо ссылок на время, а затем передать ее функции «от строки к времени», которая преобразует дату и время в временную метку эпохи. Если он не получает времени, он принимает первую секунду этого дня.

Ссылки: Дата Функция: http://php.net/manual/en/function.date.php

Строка времени: http://us2.php.net/manual/en/function.strtotime.php

Вы рассчитываете рассчитать время самого последнего небесного события, когда солнце прошло прямо под вашими ногами, скорректировано для местных соглашений с отметкой в ​​полдень и также может быть настроено так, чтобы у людей было достаточно дневного света после возвращения домой с работы и для других политических соображений.

Опасно? На самом деле это общая проблема, но полный ответ зависит от местоположения:

 $zone = new \DateTimeZone('America/New_York'); // Or your own definition of “here” $todayStart = new \DateTime('today midnight', $zone); $timestamp = $todayStart->getTimestamp(); 

Потенциальные определения «здесь» перечислены на странице https://secure.php.net/manual/en/timezones.php