将 UTC 时区转换为 IST python

Convert UTC timezone to IST python

以下代码行为我提供了生产服务器上的 UTC 时间。

timestamp = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')

请提出一种将 UTC 时区以上转换为 IST(印度标准时间) 时区的方法。

datetime.now() 为您提供了一个简单的日期时间对象,该对象根据您 运行 脚本所在的机器的设置来表示本地时间(在这种情况下 恰好是UTC 因为它是服务器)。见 docs.

要获得特定时区的“现在”,您可以适当地设置 tz 属性。

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

Python < 3.9: 我推荐 dateutil package to do so (or use zoneinfo via backports.zoneinfo).

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