如何根据当地时区和夏令时获取 UTC + x 号码?
How to get the UTC + x number, according to local timezone and daylight saving?
如何根据当地时区和夏令时获取 UTC + x
号码?
示例:假设我们处于 Paris/France 时区。对于冬季日期时间(1 月 1 日,00:55:23),我们期望 0001
:
import datetime
print datetime.datetime(2018, 01, 01, 00, 55, 23).strftime('%z')
# empty string because the datetime is naive
# expecting 0001
对于夏季日期时间,我们期望 0002
:
print datetime.datetime(2018, 07, 01, 00, 55, 23).strftime('%z')
# expecting 0002
使用dateutil:
from dateutil import tz
from datetime import datetime
paris = tz.gettz('Europe/Paris')
dt1 = datetime(2018, 1, 1, 0, 55, 23, tzinfo=paris)
dt2 = datetime(2018, 7, 1, 0, 55, 23, tzinfo=paris)
print(dt1.strftime('%z')) # prints +0100
print(dt2.strftime('%z')) # prints +0200
或者,使用 pytz:
from pytz import timezone
from datetime import datetime
paris = timezone('Europe/Paris')
dt1 = paris.localize(datetime(2018, 1, 1, 0, 55, 23))
dt2 = paris.localize(datetime(2018, 7, 1, 0, 55, 23))
print(dt1.strftime('%z')) # prints +0100
print(dt2.strftime('%z')) # prints +0200
如何根据当地时区和夏令时获取 UTC + x
号码?
示例:假设我们处于 Paris/France 时区。对于冬季日期时间(1 月 1 日,00:55:23),我们期望 0001
:
import datetime
print datetime.datetime(2018, 01, 01, 00, 55, 23).strftime('%z')
# empty string because the datetime is naive
# expecting 0001
对于夏季日期时间,我们期望 0002
:
print datetime.datetime(2018, 07, 01, 00, 55, 23).strftime('%z')
# expecting 0002
使用dateutil:
from dateutil import tz
from datetime import datetime
paris = tz.gettz('Europe/Paris')
dt1 = datetime(2018, 1, 1, 0, 55, 23, tzinfo=paris)
dt2 = datetime(2018, 7, 1, 0, 55, 23, tzinfo=paris)
print(dt1.strftime('%z')) # prints +0100
print(dt2.strftime('%z')) # prints +0200
或者,使用 pytz:
from pytz import timezone
from datetime import datetime
paris = timezone('Europe/Paris')
dt1 = paris.localize(datetime(2018, 1, 1, 0, 55, 23))
dt2 = paris.localize(datetime(2018, 7, 1, 0, 55, 23))
print(dt1.strftime('%z')) # prints +0100
print(dt2.strftime('%z')) # prints +0200