我正在尝试将日期字符串转换为年龄.
字符串就像:"星期一,2008年11月17日01:45:32 +0200",我需要知道它已经有多少天了.
我使用以下方式成功转换了日期:
>>> time.strptime("Mon, 17 Nov 2008 01:45:32 +0200","%a, %d %b %Y %H:%M:%S +0200")
(2008, 11, 17, 1, 45, 32, 0, 322, -1)
Run Code Online (Sandbox Code Playgroud)
出于某种原因,%z给了我+0200的错误,但这并不重要.
我可以使用以下时间获取当前时间:
>>> time.localtime()
(2009, 2, 3, 19, 55, 32, 1, 34, 0)
Run Code Online (Sandbox Code Playgroud)
但是如何在不通过列表中的每个项目并手动执行的情况下从另一个中减去一个?
Geo*_*lly 16
您需要使用模块datetime和对象datetime.timedelta
from datetime import datetime
t1 = datetime.strptime("Mon, 17 Nov 2008 01:45:32 +0200","%a, %d %b %Y %H:%M:%S +0200")
t2 = datetime.now()
tdelta = t2 - t1 # actually a datetime.timedelta object
print tdelta.days
Run Code Online (Sandbox Code Playgroud)
在Python中,datetime对象本身支持减法:
from datetime import datetime
age = datetime.now() - datetime.strptime(...)
print age.days
Run Code Online (Sandbox Code Playgroud)
结果是timedelta对象.
| 归档时间: |
|
| 查看次数: |
6263 次 |
| 最近记录: |