Python 将unicode转换为日期时间格式
函数以unicode格式返回日期和时间Python 将unicode转换为日期时间格式,python,datetime,unicode,Python,Datetime,Unicode,函数以unicode格式返回日期和时间 u'2014-03-06T04:38:51Z' 我希望将其转换为日期和时间格式,并将其与当前日期时间相减,以获得两者之间的天数 提前感谢检查字符串是否为unicode >>> import types >>> type(u'2014-03-06T04:38:51Z') is types.UnicodeType True 将字符串转换为日期时间: >>> import datetime >&g
u'2014-03-06T04:38:51Z'
我希望将其转换为日期和时间格式,并将其与当前日期时间相减,以获得两者之间的天数
提前感谢检查字符串是否为unicode
>>> import types
>>> type(u'2014-03-06T04:38:51Z') is types.UnicodeType
True
将字符串转换为日期时间:
>>> import datetime
>>> datetime.datetime.strptime(u'2014-03-06T04:38:51Z', '%Y-%m-%dT%H:%M:%SZ')
datetime.datetime(2014, 3, 6, 4, 38, 51)
从今天的中减去
>>> import datetime
>>> today = datetime.datetime.today()
>>> yourdate = datetime.datetime.strptime(u'2014-03-06T04:38:51Z', '%Y-%m-%dT%H:%M:%SZ')
>>> difference = today - yourdate
print str(difference)
首先,必须将字符串转换为
datetime.datetime
对象
import datetime
then = datetime.datetime.strptime(u'2014-03-06T04:38:51Z', "%Y-%m-%dT%H:%M:%SZ")
然后
将其自身表示为datetime.datetime(2014,3,6,4,38,51)
,看起来大致正确。然后您必须以datetime.datetime
的形式获取今天的日期
now = datetime.datetime.now()
最后从日期中减去它(反之亦然,问题没有说清楚)。delta
是一个datetime.timedelta
对象,它以天、秒和微秒为单位存储增量。后两个总是积极的,第一个可以是消极的
for delta in (now-then, then-now):
print(delta, "::", delta.days, delta.seconds, delta.microseconds)
这将打印出:
-1 day, 20:18:14.250142 :: -1 73094 250142
3:41:45.749858 :: 0 13305 749858
最好用几个例子来证明它是正确的。那么what-have-u-try.com?当前日期时间的可能重复项是
datetime.datetime.now()
。最后我解决了我的问题,然后我看到了这一点。不管怎样,感谢史蒂文总是先做研究!很高兴你解决了你的问题