PHP:
Получение текущей даты
Как это сделать:
Вы вызываете текущую дату в PHP с помощью функции date()
. Например:
echo "Сегодняшняя дата: " . date("Y-m-d") . "<br>";
echo "Время: " . date("h:i:sa");
Вывод может быть таким:
Сегодняшняя дата: 2023-04-01
Время: 10:15:36am
Просто, правда? Для времени по UTC используйте функцию gmdate()
:
echo "Время UTC: " . gmdate("h:i:sa");
И вы получите что-то вроде:
Время UTC: 02:15:36pm
Глубже в тему
Теперь, когда мы разобрались с основами, давайте немного углубимся. В первую очередь, под капотом, PHP использует системные часы сервера для своих временных функций. Отступая назад, функции даты PHP имеют долгую историю, идущую от способов обработки дат и времени в Unix.
До date()
, были strtotime()
и mktime()
. Эти старожилы переводят практически любое англоязычное текстовое описание даты и времени в Unix-временную метку. Но они более громоздки для быстрого захвата текущего времени.
Теперь о технических деталях – PHP хранит даты в виде целых чисел. Конкретно, секунды с начала эпохи Unix (1 января 1970 года). Это означает, что вселенная согласно PHP взорвется в 2038 году (Google “Проблема 2038 года” для подробностей армагеддона). На данный момент это не проблема, так как PHP 7 и новее используют 64-битные целые числа, что дает нам время до конца времен… ну, почти.
Часовые пояса – они могут внести свои коррективы в ваши времена, если вы не будете осторожны. Установите свой часовой пояс по умолчанию, используя date_default_timezone_set()
, если вы хотите синхронизироваться с определенными часами.
Смотрите также
Вот некоторые полезные документации и уроки для погружения в глубокие воды:
- Документация по функции даты PHP
- Часовые пояса в PHP
- Класс DateTime в PHP, для более изысканных способов работы с датами и временем
- Вот эта нависшая Проблема 2038 года