DST开始和结束日期间的datetime.timestamp()

时间:2018-02-06 20:34:34

标签: python python-3.x datetime

由于DST转换,我遇到了一些问题。我有以下代码。

from datetime import datetime
date1=datetime.strptime('03/11/2018 00:00:00', '%m/%d/%Y %H:%M:%S' )
date1_insecs=date1.timestamp()
elapsed_seconds= 186*60  #(3 hours and 6 minutes)
date2=datetime.fromtimestamp(date1_insecs+elapsed_seconds)
print(date2)

输出结果为:

  

2018-03-11 04:06:00

我希望'date2'为'2018-03-11 03:06:00',但我得'date2'为'2018-03-11 04:06:00'。有没有办法让date2为'2018-03-11 03:06:00'。 DST结束日的类似补救措施。

1 个答案:

答案 0 :(得分:0)

这对我有用:

from datetime import datetime

date1 = datetime.strptime('03/11/2018 00:00:00', '%m/%d/%Y %H:%M:%S' )
# 2018-03-11 00:00:00

date1_insecs = date1.timestamp()
elapsed_seconds = 186*60  #(3 hours and 6 minutes)

date2 = datetime.fromtimestamp(date1_insecs + elapsed_seconds)
# 2018-03-11 03:06:00