1

我有一个来自远程 Linux 机器的时间戳。这是时间戳 1356354496。当我使用 fromtimestamp 函数时,我得到的输出与应有的不同。

例子:

from datetime import datetime
import time
print(time.ctime(int("1356354496")))
cwStartTimeDisplay=datetime.fromtimestamp(int("1356354496")).strftime("%a %b %d %H:%M:%S %Y")
print(cwStartTimeDisplay)

输出

2012 年 12 月 24 日星期一 05:08:16 2012 年 12 月 24 日星期一 05:08:16

而我应该得到 2012 年 12 月 24 日下午 6:38:16。我是一个初学者,真的不知道 tz 参数是否是这个问题的答案。有人可以帮忙吗?

4

1 回答 1

3

您的时间戳似乎是UTC,因此如果您需要 id 表示IST,则需要对其进行转换。

在 python 中处理时区数据的推荐库是pytz

from datetime import datetime
import pytz
ist = pytz.timezone("Asia/Kolkata")

utcdate = pytz.utc.localize(datetime.utcfromtimestamp(1356354496))
print("UTC:", utcdate)
istdate = ist.normalize(utcdate)
print("IST:", istdate)

# or shorter:
date = datetime.fromtimestamp(1356354496, ist)
print("IST:", date)

输出:

世界标准时间:2012-12-24 13:08:16+00:00
IST:2012-12-24 18:38:16+05:30
IST:2012-12-24 18:38:16+05:30
于 2013-06-14T10:31:33.383 回答