将UTC时区转换为IST python

时间:2020-07-22 21:29:56

标签: python-3.x datetime utc python-datetime

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

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

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

2 个答案:

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