首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python时间转化

Python时间转化
EN

Stack Overflow用户
提问于 2019-03-27 00:04:51
回答 2查看 0关注 0票数 0

我正在尝试将日期字符串转换为年龄。

字符串就像:“星期一,2008年11月17日01:45:32 +0200”,我需要知道它已经有多少天了。

我使用以下方式成功转换了日期:

代码语言:javascript
复制
>>> 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)

出于某种原因,%z给了我+0200的错误,但这并不重要。

我可以使用以下时间获取当前时间:

代码语言:javascript
复制
>>> time.localtime()
(2009, 2, 3, 19, 55, 32, 1, 34, 0)

但是如何在不通过列表中的每个项目并手动执行的情况下从另一个中减去一个?

EN

回答 2

Stack Overflow用户

发布于 2019-03-27 08:53:23

在Python中,datetime对象本身支持减法:

代码语言:javascript
复制
from datetime import datetime
age = datetime.now() - datetime.strptime(...)
print age.days

结果是timedelta对象。

票数 0
EN

Stack Overflow用户

发布于 2019-03-27 09:43:11

最终得到了以下内容:

代码语言:javascript
复制
def getAge( d ):
    """ Calculate age from date """
    delta = datetime.now() - datetime.strptime(d, "%a, %d %b %Y %H:%M:%S +0200")
    return delta.days + delta.seconds / 86400.0 # divide secs into days

提示:

代码语言:javascript
复制
>>> getAge("Mon, 17 Nov 2008 01:45:32 +0200")
78.801319444444445
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100001058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档