1

我想以 2000 年 1 月 1 日的形式获得日期和时间。我正在制作的程序从存储信息表的压缩文档中读取。程序到达日期时间单元并退出

  • 946652400 作为整数
  • 或 11110000110001000110110000111000 作为二进制

这应该解释为 1999 年 12 月 31 日星期五 15:00:00 UTC,我希望它显示为 2000 年 1 月 1 日。我可以使用python中某种形式的方法吗?我也可以将此信息显示为 1999 年 12 月 31 日。如果没有,有人可以从上面的示例中解释如何创建它吗?

谢谢!

4

2 回答 2

6

使用日期时间:

>>> import datetime
>>> datetime.datetime.fromtimestamp(946652400)
datetime.datetime(2000, 1, 1, 0, 0)

时区是一团糟,尤其是当您不得不担心未来时。但是,如果您只是处理过去,您始终可以应用静态偏移量来将值调整到所需的时区。

您给出的值已经在 2000 年 1 月 1 日,如果您知道适当的偏移量,可以将其调整回 UTC。

>>> dt = datetime.datetime.fromtimestamp(946652400)
>>> OFFSET = datetime.timedelta(hours=-9)
>>> adjusted_dt = dt + OFFSET
datetime.datetime(1999, 12, 31, 15, 0)
于 2012-05-31T03:16:00.493 回答
3
import time
time_struct = time.gmtime(946652400)
print time.strftime('%d/%m/%Y', time_struct)

time 模块是 stdlib 的一部分: 记录在这里 这里有一个表格,显示%m您可以在strftime.

于 2012-05-31T03:14:03.697 回答