我怎样才能从 unix 时间正确的日期时间值?
How can I proper date time value from unix time?
UNIX 时间戳
1262304000
1224633600
940636800
939772800
1332288000
1096934400
1088121600
...
1.Try
frmt_date = dt.datetime.utcfromtimestamp(1088121600).strftime("%Y/%m/%d %H:%M")
时间价值的结果是00:00
。
(结果)
2012-10-11 00:00
2004-04-20 00:00
1999-01-07 00:00
....
尝试
def xldate_to_datetime(xldate):
temp = dt.datetime(1899, 12, 30)
delta = dt.timedelta(days=xldate)
return temp+delta
ts = "1262304000"
tsxl = ((int(ts)/60)/60)/24 + 25569
readabledate = xldate_to_datetime(tsxl)
print(readabledate)
时间值的结果都是00:00
,不过
如何从那些 UNIX https://i.stack.imgur.com/khDmi.jpg
中获取适当的时间
转换都是正确的。
时间戳都恰好是从 1970 年 1 月 1 日午夜开始的秒数,其 mod (3600 * 24)
为 0 即所有时间戳都对应于 UTC 中某个日期的午夜。
您可以快速确认这一点,而无需实际转换为日期时间对象:
assert all(t % 86400 == 0 for t in timestamps)
另一种方法
>>> mytime = 1332288000
>>> import datetime as dt
>>> frmt_date = dt.datetime.utcfromtimestamp(mytime).strftime("%Y/%m/%d %H:%M")
>>> print(frmt_date)
2012/03/21 00:00
>>> mytime = mytime + 10000
>>> frmt_date = dt.datetime.utcfromtimestamp(mytime).strftime("%Y/%m/%d %H:%M")
>>> print(frmt_date)
2012/03/21 02:46
所以,你的约会时间确实是 00:00
UNIX 时间戳
1262304000
1224633600
940636800
939772800
1332288000
1096934400
1088121600
...
1.Try
frmt_date = dt.datetime.utcfromtimestamp(1088121600).strftime("%Y/%m/%d %H:%M")
时间价值的结果是00:00
。
(结果)
2012-10-11 00:00
2004-04-20 00:00
1999-01-07 00:00
....
尝试
def xldate_to_datetime(xldate): temp = dt.datetime(1899, 12, 30) delta = dt.timedelta(days=xldate) return temp+delta ts = "1262304000" tsxl = ((int(ts)/60)/60)/24 + 25569 readabledate = xldate_to_datetime(tsxl) print(readabledate)
时间值的结果都是00:00
,不过
如何从那些 UNIX https://i.stack.imgur.com/khDmi.jpg
中获取适当的时间转换都是正确的。
时间戳都恰好是从 1970 年 1 月 1 日午夜开始的秒数,其 mod (3600 * 24)
为 0 即所有时间戳都对应于 UTC 中某个日期的午夜。
您可以快速确认这一点,而无需实际转换为日期时间对象:
assert all(t % 86400 == 0 for t in timestamps)
另一种方法
>>> mytime = 1332288000
>>> import datetime as dt
>>> frmt_date = dt.datetime.utcfromtimestamp(mytime).strftime("%Y/%m/%d %H:%M")
>>> print(frmt_date)
2012/03/21 00:00
>>> mytime = mytime + 10000
>>> frmt_date = dt.datetime.utcfromtimestamp(mytime).strftime("%Y/%m/%d %H:%M")
>>> print(frmt_date)
2012/03/21 02:46
所以,你的约会时间确实是 00:00