gpt4 book ai didi

Python 日期时间添加

转载 作者:太空狗 更新时间:2023-10-29 17:39:23 25 4
gpt4 key购买 nike

我有一个字符串格式的日期时间值。如何将格式从“-”分隔日期更改为“.”分开的日期。我还需要添加 6 个小时,让数据在我的时区内。

s = '2013-08-11 09:48:49'
from datetime import datetime,timedelta
mytime = datetime.strptime(s,"%Y-%m-%d %H:%M:%S")
time = mytime.strftime("%Y.%m.%d %H:%M:%S")
dt = str(timedelta(minutes=6*60)) #6 hours
time+=dt
print time
print dt

我得到以下结果,它在最后加上了六个小时而不是九个小时:

2013.08.11 09:48:496:00:00
6:00:00

最佳答案

您正在添加 timedelta()字符串表示:

>>> from datetime import timedelta
>>> print timedelta(minutes=6*60)
6:00:00

求和 datetimetimedelta 对象,而不是它们的字符串表示;仅在对对象求和后创建一个字符串:

from datetime import datetime, timedelta
s = '2013-08-11 09:48:49'
mytime = datetime.strptime(s, "%Y-%m-%d %H:%M:%S")
mytime += timedelta(hours=6)
print mytime.strftime("%Y.%m.%d %H:%M:%S")

这导致:

>>> from datetime import datetime, timedelta
>>> s = '2013-08-11 09:48:49'
>>> mytime = datetime.strptime(s, "%Y-%m-%d %H:%M:%S")
>>> mytime += timedelta(hours=6)
>>> print mytime.strftime("%Y.%m.%d %H:%M:%S")
2013.08.11 15:48:49

但是,您可能想改用实时时区对象,我建议您使用 pytz library :

>>> from pytz import timezone, utc
>>> eastern = timezone('US/Eastern')
>>> utctime = utc.localize(datetime.strptime(s, "%Y-%m-%d %H:%M:%S"))
>>> local_tz = utctime.astimezone(eastern)
>>> print mytime.strftime("%Y.%m.%d %H:%M:%S")
2013.08.11 15:48:49

例如,这也会考虑夏令时。

关于Python 日期时间添加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18817750/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com