如何通过添加时间偏移值在 php 中使用纪元时间

how to use epoch time in php by adding time offset value

我有这个十六进制 2a ba ce 21,我已将其转换为十进制 716885537,现在我要求做的是:
2a ba ce 21 给出;现在以秒为单位打印上次更新时间(自 2000 年 1 月 1 日午夜以来经过的秒数)- 4 字节
为转换为标准纪元时间,添加时间偏移值946684800(从1970年1月到2000年1月的时间偏移)

我搜索了很多,老实说,每件事都混在一起...如果有人告诉我如何在 PHP 中做到这一点,那将是很大的帮助。

every thing got mixed...

正在尝试分解这些东西……
大概你的十六进制字节是小端顺序,所以你必须在转换之前反转。

<?php
$timestamp = hexdec(implode(array_reverse(explode(' ', '2a ba ce 21'))));
echo "seconds:  ", $timestamp+946684800, "\n";
echo "readable: ", date('r', $timestamp+946684800), "\n";

what if i had to convert 2c 00 to last updated time in milliseconds as well that is of 2 byte.

转换过程同上。如果要将毫秒加入时间戳,请将它们除以 1000 添加。

$timestamp = hexdec(implode(array_reverse(explode(' ', '2a ba ce 21'))));
$millisecs = hexdec(implode(array_reverse(explode(' ', '2c 00'))));
$timestamp += 946684800 + $millisecs/1000;
echo "seconds:  ", $timestamp, "\n";
date_default_timezone_set('UTC');
echo "readable: ", date('Y-m-d H:i:s.', $timestamp).substr("00$millisecs", -3), "\n";