Time: примеры (PHP)
time(void): intФункция time в PHP
Функция time() возвращает количество секунд, прошедших с начала эпохи Unix (00:00:00 UTC 1 января 1970 года), которое также называют Unix-временем или timestamp. Эта функция не принимает аргументов и всегда возвращает целое число (int).
Функция используется для получения текущего времени на сервере. Она часто применяется для записи временных меток в базу данных, измерения времени выполнения скриптов, кеширования, установки сроков действия сессий или кук, а также для различных операций с датами.
Примеры использования
<?php
echo time();
?>1710421200
<?php
$timestamp = time();
echo date('Y-m-d H:i:s', $timestamp);
?>2024-03-14 12:30:00
<?php
$start = time();
// Имитация работы
sleep(2);
$end = time();
echo 'Прошло секунд: ' . ($end - $start);
?>Прошло секунд: 2
Альтернативные функции в PHP
Возвращает текущую метку времени в микросекундах. Полезно для точного измерения интервалов.
Форматирует временную метку в читаемую строку. Используется вместе с time().
Объектно-ориентированный подход для работы с датами и временем, предлагает больше возможностей.
Преобразует текстовое описание даты/времени на английском в Unix-время.
Типичные ошибки
<?php
echo date('H:i', time()); // Может показывать не локальное время
?>09:30 // Когда локальное время 12:30
<?php
$future = time() + 3600;
if (time() > $future) { // Логическая ошибка
echo 'Время наступило';
}
?>// Ничего не выведет
<?php
// На 32-битной системе после 2038 года
$date = date('Y-m-d', 2500000000);
?>2038-01-19 03:14:07 // Ошибка переполнения
Изменения в новых версиях
В PHP 8.0 не было значительных изменений функции time(). Однако в PHP 7.1 была улучшена точность значения, возвращаемого time() на Windows. В PHP 5.1 были добавлены расширенные возможности работы с часовыми поясами, что влияет на использование time() совместно с date().
Расширенные примеры
<?php
$uniqueId = time() . mt_rand(1000, 9999);
echo $uniqueId;
?>17104212004567
<?php
$cacheTime = 300; // 5 минут
$lastUpdate = 1710420900;
if (time() - $lastUpdate > $cacheTime) {
echo 'Обновляем кеш';
}
?>Обновляем кеш
<?php
$hour = date('H', time());
if ($hour < 6) $period = 'Ночь';
elseif ($hour < 12) $period = 'Утро';
elseif ($hour < 18) $period = 'День';
else $period = 'Вечер';
echo $period;
?>День
<?php
$tempFile = 'temp_' . time() . '.txt';
file_put_contents($tempFile, 'Данные');
echo $tempFile;
?>temp_1710421200.txt
Аналоги в других языках
Time в Javascript
Math.floor(Date.now() / 1000);1710421200
Time в Python
import time
print(int(time.time()))1710421200
Time в MySQL
SELECT UNIX_TIMESTAMP(NOW());1710421200
Time в Java
System.currentTimeMillis() / 1000;1710421200