В PHP работа с временными метками является распространенной задачей при работе с операциями, связанными с датой и временем. Временные метки Microsoft, также известные как временные метки Windows, часто используются в различных сценариях. Они представляют собой количество 100-наносекундных интервалов, прошедших с 1 января 1601 года (UTC). В этой статье мы рассмотрим различные методы преобразования временных меток Microsoft в форматы даты в PHP, а также приведем примеры кода.
Метод 1: использование классов DateTime и DateTimeZone
$timestamp = 131542586120000000;
$dateTime = DateTime::createFromFormat('U', ($timestamp - 116444736000000000) / 10000000);
$dateTime->setTimezone(new DateTimeZone('UTC'));
$date = $dateTime->format('Y-m-d H:i:s');
echo $date;
Метод 2: использование функции gmdate()
$timestamp = 131542586120000000;
$date = gmdate('Y-m-d H:i:s', ($timestamp - 116444736000000000) / 10000000);
echo $date;
Метод 3. Использование функции date() со специальным форматом
$timestamp = 131542586120000000;
$date = date('Y-m-d H:i:s', ($timestamp - 116444736000000000) / 10000000);
echo $date;
Метод 4. Использование класса DateTimeImmutable
$timestamp = 131542586120000000;
$dateTime = DateTimeImmutable::createFromMutable(DateTime::createFromFormat('U', ($timestamp - 116444736000000000) / 10000000));
$dateTime = $dateTime->setTimezone(new DateTimeZone('UTC'));
$date = $dateTime->format('Y-m-d H:i:s');
echo $date;
Метод 5. Использование библиотеки Carbon (требуется установка)
$timestamp = 131542586120000000;
$carbon = \Carbon\Carbon::createFromTimestamp(($timestamp - 116444736000000000) / 10000000)
->timezone('UTC');
$date = $carbon->toDateTimeString();
echo $date;
Преобразование временных меток Microsoft в форматы даты в PHP можно выполнить различными методами. В этой статье мы рассмотрели пять различных подходов, включая использование классов DateTime и DateTimeZone, функции gmdate(), функции date() с пользовательским форматом, класса DateTimeImmutable и библиотеки Carbon. В зависимости от ваших предпочтений и требований проекта вы можете выбрать наиболее подходящий метод.