0

我必须从应用程序中的 CSV 文件中解析时间序列数据。时间戳有时是 DST 转换的区域时间。我想使用 python-pendulum 来解析日期字符串。是否可以dst_rule在调用pendulum.parse方法时指定?它似乎被忽略了:

>>> str(pendulum.parse('2017-10-29 02:30:00', tz='Europe/Berlin', dst_rule=pendulum.PRE_TRANSITION))
'2017-10-29T02:30:00+01:00'
>>> str(pendulum.parse('2017-10-29 02:30:00', tz='Europe/Berlin', dst_rule=pendulum.POST_TRANSITION))
'2017-10-29T02:30:00+01:00'

在我的应用程序中,我需要第一个字符串是 '2017-10-29T02:30:00+ 02:00 '。有没有办法做到这一点?

4

1 回答 1

0

我通过解析后再次实例化 DateTime 实例找到了解决方案:

dt = pendulum.parse('2017-10-29 02:30:00', tz='Europe/Berlin')
dt = pendulum.datetime(
    dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second, dt.microsecond,
    tz='Europe/Berlin', dst_rule=pendulum.PRE_TRANSITION
)

现在的输出是'2017-10-29T02:30:00+02:00'

于 2018-06-01T06:15:35.703 回答