python怎么添加时间_Python日期时间添加

I have a datetime value in string format. How can I change the format from a "-" separated date to a "." separated date. I also need to add 6 hours to let the data be in my time zone.

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

I get the following result where it adds the six hours at the end and not to the nine:

2013.08.11 09:48:496:00:00

6:00:00

解决方案

You are adding the string representation of the timedelta():

>>> from datetime import timedelta

>>> print timedelta(minutes=6*60)

6:00:00

Sum datetime and timedelta objects, not their string representations; only create a string after summing the objects:

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")

This results in:

>>> 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

However, you probably want to use real timezone objects instead, I recommend you use the 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

This will take into account daylight saving time too, for example.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值