我有一个程序,在当地时间(以色列)收到日期时间字符串,我需要将其转换为纪元秒.
我可以使用诸如"UTC +02:00"这样的格式,但问题是,白天节省,Israels手表的行为与其他国家不同.有没有办法让纪元时间依赖于国家?
> import pytz
> pytz.country_timezones['il'] # Israel
['Asia/Jerusalem']
Run Code Online (Sandbox Code Playgroud)
这是否描述了您的时区?
如果是,那么您可以使用:
from datetime import datetime
import pytz
a = "2011-11-07 12:34:56"
dt = pytz.timezone('Asia/Jerusalem').localize(datetime.strptime(a, '%Y-%m-%d %H:%M:%S')).astimezone(pytz.utc)
Run Code Online (Sandbox Code Playgroud)
dt现在datetime.datetime(2011, 11, 7, 10, 34, 56, tzinfo=<UTC>),这是"2011-11-07 12:34:56"(在耶路撒冷).
为了将其转换为纪元秒(Unix时间戳,即1970-01-01 00:00:00 UTC后的秒数),您可以直接使用:
import calendar
from datetime import datetime
import pytz
a = "2011-11-07 12:34:56"
epoch = calendar.timegm(pytz.timezone('Asia/Jerusalem').localize(datetime.strptime(a, '%Y-%m-%d %H:%M:%S')).utctimetuple())
# epoch is 1320662096
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2522 次 |
| 最近记录: |