Как я могу получить временную метку в 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