将ticks转换为unix时间戳

时间:2013-01-20 18:02:19

标签: php mysql

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

4 个答案:

答案 0 :(得分:6)

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_seconds0001-00-01 00:00:001970-01-01 01:00:00之间的秒数。因此,您现在需要的只是确定$number_of_seconds等于什么。

更新:这是在C#中执行此操作的方法:How to convert a Unix timestamp to DateTime and vice versa?

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

答案 1 :(得分:1)

这应该这样做:

$seconds = 634942626000000000 / 1000000000;
echo date("Y-m-d H:i:s", $seconds);

答案 2 :(得分: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)

答案 3 :(得分:-1)

我不确定你想要什么,但我认为你需要将时间戳转换为日期/时间。 您可以使用date函数

执行此操作