标准化日期时间对象

阿比德

我正在做一些约会时间魔术,试图弄清楚为什么时间略有减少。

2014年6月3日,中部时间下午3点(UTC):

>>> chicago = pytz.timezone('US/Central')
>>> chicago.localize(datetime(2014,6,3,15,0,0)).astimezone(pytz.utc)
datetime.datetime(2014, 6, 3, 20, 0, tzinfo=<UTC>)

2014年12月2日,中部时间下午3点(UTC):

>>> chicago.localize(datetime(2014,12,2,15,0,0)).astimezone(pytz.utc)
datetime.datetime(2014, 12, 2, 21, 0, tzinfo=<UTC>)

第二个例子中的小时数是21,而第一个例子中的小时数是20。我以为日期可能未标准化,所以我尝试了以下方法:

>>> chicago.normalize(chicago.localize(datetime(2014,12,2,15,0,0))).astimezone(pytz.utc)
datetime.datetime(2014, 12, 2, 21, 0, tzinfo=<UTC>)

仍然是21。这是怎么回事?

迈克·谢里尔(Mike Sherrill)的“猫召回”

夏令时。

在第一种情况下(6月3日),芝加哥处于中央夏令时。与UTC的时差为五个小时。

>>> fmt = '%Y-%m-%d %H:%M:%S %Z%z'
>>> clt=chicago.localize(datetime(2014,6,3,15,0,0))
>>> clt.strftime(fmt)
'2014-06-03 15:00:00 CDT-0500'
                     ^^^^^^^^

在第二种情况下(12月2日),芝加哥处于中央标准时间之下。与UTC的时差为六个小时。

>>> clt=chicago.localize(datetime(2014,12,2,15,0,0))
>>> clt.strftime(fmt)
'2014-12-02 15:00:00 CST-0600'
                     ^^^^^^^^

您的呼叫在normalize()这里无济于事,因为您没有对跨越DST边界的本地时间进行日期或时间算术运算。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

标准化日期时间对象

来自分类Dev

在Java中标准化西班牙日期

来自分类Dev

如何获取文件或目录的标准化日期/时间戳。在纯批处理脚本中?

来自分类Dev

如何获取文件或目录的标准化日期/时间戳。在纯批处理脚本中?

来自分类Dev

在SPSS中标准化和绘制时间序列数据

来自分类Dev

在postgres中标准化日期-迄今为止的字符

来自分类Dev

在长格式数据框中标准化日期

来自分类Dev

在postgres中标准化日期-迄今为止的字符

来自分类Dev

使用Moment.js标准化日期格式

来自分类Dev

图像标准化

来自分类Dev

标准化Javascript对象属性的Clean方法

来自分类Dev

转换标准化的redux对象以进行渲染

来自分类Dev

SVM scikitlearn的标准化或标准化数据输入

来自分类Dev

Dicom-标准化和标准化

来自分类Dev

Shebang(#!)是否标准化?

来自分类Dev

标准化HTTP URI

来自分类Dev

标准化以优化python

来自分类Dev

标准化多值列

来自分类Dev

循环以标准化数据

来自分类Dev

与标准化混淆的问题

来自分类Dev

标准化Numpy数组

来自分类Dev

绘图值标准化

来自分类Dev

熊猫:分组标准化

来自分类Dev

音量标准化python

来自分类Dev

如何标准化直方图

来自分类Dev

批量标准化参数

来自分类Dev

SQL Server-将营业时间数据标准化为JSON对象

来自分类Dev

可以在不到2遍的时间内用Java标准化图像吗?

来自分类Dev

标准化列值需要很长时间。如何优化流程?