Pandas.Timestamp.now 中的未知时区错误

UnknownTimeZoneError in Pandas.Timestamp.now

我想为我的时区附加当前时间的时间戳,但不知道在哪里可以找到我的时区的正确值。显然是 Islamabad/Karachi,但没有成功。

这是我的小代码块

import pandas as pd
...
#df -> a dataframe
df.to_csv('C:/path/to/file-'+str(pd.Timestamp.now())+'.tsv', mode='a', index=None, sep='\t', header=False)

所需的输出文件名是

file-10;17;52--29-06-2020 对于 file-hour;minutes;sec--day-month-year

我知道 : 不允许出现在名称中

如果您处于所需的时区,则只需执行以下操作即可;

from datetime import datetime
time_now = datetime.now() # Will give your local time

或者,

我们可以通过移动 UTC 时间来获得相同的结果,比方说 5 hours

from datetime import datetime, timezone, timedelta
now_utc = datetime.utcnow() # Current time in UTC
my_tz_time = now_utc + timedelta(hours=5) # now we can shift the time by 5 hours easily

编辑-1

根据@MrFuppes分享的link,在第二种方法中,我们应该做下面的事情,

from datetime import datetime, timezone, timedelta
now_utc = datetime.now(tz=timezone.utc) # Time in UTC
my_tz_time = now_utc + timedelta(hours=5) # now we can shift the time by 5 hours easily