在python中将时间戳转换为日期时间

时间:2013-06-14 07:38:54

标签: python-3.x

我有一个来自远程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

然而,我应该在12/24/2012 6:38:16 PM。我是一个初学者,并不知道tz参数是否是这个的答案。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

您的时间戳似乎是UTC,因此如果您需要IST中代表的ID,则需要转换它。

在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)

输出:

UTC: 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