python datetime 去除分秒信息

新手上路,请多包涵

我有一个日期时间数组,其中包含小时、分钟和秒信息。我想从中删除分钟和秒信息并将小时更改为下一个小时。

即peak_interval

 array([datetime.datetime(2010, 12, 13, 6, 0),
       datetime.datetime(2011, 1, 12, 7, 0),
       datetime.datetime(2011, 3, 23, 16, 45),
       datetime.datetime(2011, 4, 19, 17, 15)], dtype=object)

我想获得以下内容:

 peak_interval
array([datetime.datetime(2010, 12, 13, 7, 0),
       datetime.datetime(2011, 1, 12, 8, 0),
       datetime.datetime(2011, 3, 23, 17, 0),
       datetime.datetime(2011, 4, 19, 18, 0)], dtype=object)

我可以编写某种 for 循环,但如果可能的话,我会尝试使用一些聪明的方法。

原文由 Zanam 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1k
2 个回答

您可以使用 datetime.datetime.replace

 old_date = datetime.datetime(2011, 3, 23, 16, 45)
new_date = old_date.replace(minute=0, second=0, microsecond=0) + datetime.timedelta(hours=1)

原文由 Kevin M Granger 发布,翻译遵循 CC BY-SA 4.0 许可协议

now = datetime.now()
now2 = datetime(now.year,now.month,now.day,now.hour)

原文由 Marios Staboulas 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏