我正在使用django / python
如何将pytz时区字符串(例如“ Asia / Kuala_Lumpur”)转换为偏移量信息(“ +0800”或“ 80”)。
我在这里找不到确切的功能:https : //docs.djangoproject.com/en/3.1/topics/i18n/timezones/
我想像这样在moment.js中使用它:在特定时区格式化日期
所以问题是:'Asia / Kuala_Lumpur'->转换为--->'+0800'
时区不是偏移量。这是一组规则,如何计算给定日期时间的偏移量。这表示当前规则,例如关于夏令时(DST)的历史规则,以及对日历进行(小的)更改的历史规则。
您可以使用以下方法确定当前日期时间(或其他日期时间)的偏移量:
>>> import pytz
>>> from datetime import datetime
>>> pytz.timezone('Asia/Kuala_Lumpur').localize(datetime.utcnow()).strftime('%z')
'+0800'
例如,对于布鲁塞尔时间,两个不同的时间戳可以给出两个不同的偏移量:
>>> tz = pytz.timezone('Europe/Brussels')
>>> tz.localize(datetime.utcnow()).strftime('%z')
'+0100'
>>> tz.localize(datetime(2020,5,1)).strftime('%z')
'+0200'
或者例如,平壤于2018年5月4日更改了时区:
>>> pytz.timezone('Asia/Pyongyang').localize(datetime(2018,5,4)).strftime('%z')
'+0830'
>>> pytz.timezone('Asia/Pyongyang').localize(datetime(2018,5,5)).strftime('%z')
'+0900'
因此,您不能简单地将时区映射到偏移量。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句