以下代码行为我提供了生产服务器上的 UTC 时间。
timestamp = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
请建议一种将以上UTC时区转换为 IST(印度标准时间)时间的方法。
答案 0 :(得分:3)
from datetime import datetime
import pytz
tz_NY = pytz.timezone('Asia/Kolkata')
datetime_NY = datetime.now(tz_NY)
print("India time:", datetime_NY.strftime("%Y-%m-%d %H:%M:%S.%f"))
>>India time: 2021-05-03 12:25:21.877976
答案 1 :(得分:1)
datetime.now()
为您提供了一个简单的datetime对象,该对象根据运行脚本的计算机的设置来表示本地时间(在这种情况下,恰好是UTC ,因为它是服务器)。参见docs。
要在特定时区获得“现在”,可以适当设置tz
属性。
Python <3.9:我建议使用dateutil软件包。
from datetime import datetime
from dateutil.tz import gettz
dtobj = datetime.now(tz=gettz('Asia/Kolkata'))
print(dtobj)
>>> 2020-07-23 11:08:54.032651+05:30
Python> = 3.9::您在标准库中有zoneinfo来执行此操作:
from zoneinfo import ZoneInfo
dtobj = datetime.now(tz=ZoneInfo('Asia/Kolkata'))
print(dtobj)
>>> 2020-07-23 11:11:43.594442+05:30