6

我得到开始时间634942626000000000和结束时间634942638000000000。如何将其转换为 Unix 时间戳?我想在 PHP 中显示格式化的日期/时间?

4

3 回答 3

9

C# ticks 是自午夜以来的刻度数0001-01-01 00:00:00(每个刻度是秒的 1/10000000),而 UNIX 时间戳是自 UNIX 纪元 ( 1970-01-01 01:00:00) 开始以来的秒数,因此所需的结果是$seconds = 634942626000000000/10000000 - $number_of_seconds,其中和$number_of_seconds之间的秒数。所以,你现在需要的就是确定什么是平等的。0001-00-01 00:00:001970-01-01 01:00:00$number_of_seconds

更新:这是在 C# 中的操作方法:如何将 Unix 时间戳转换为 DateTime,反之亦然?

更新 2使用这个简单的脚本http://hastebin.com/lefiyiheju.mel确定$number_of_seconds是 62136892800,但我不知道它是否准确

于 2013-01-20T18:42:55.973 回答
2

这应该这样做:

$seconds = 634942626000000000 / 1000000000;
echo date("Y-m-d H:i:s", $seconds);
于 2013-01-20T18:05:43.727 回答
0

在 Python 中,你会做

In [53]: import datetime

In [54]: ticks = 634942626000000000

In [55]: start = datetime.datetime(1, 1, 1)

In [56]: delta = datetime.timedelta(seconds=ticks/10000000)

In [57]: the_actual_date = start + delta

In [58]: the_actual_date.timestamp()
Out[58]: 1358665800.0

In [59]: the_actual_date
Out[59]: datetime.datetime(2013, 1, 20, 7, 10)
于 2020-10-03T18:52:18.407 回答