python中是否有一种简单的方法来转换日期间隔的字符串表示:
P1M
到时间戳或日期时间对象?
基本上我需要根据这个 ISO 处理日期间隔:http ://en.wikipedia.org/wiki/ISO_8601
python中是否有一种简单的方法来转换日期间隔的字符串表示:
P1M
到时间戳或日期时间对象?
基本上我需要根据这个 ISO 处理日期间隔:http ://en.wikipedia.org/wiki/ISO_8601
似乎有一个名为isodate的第三方模块可以做你想做的事:
In [1]: from isodate import parse_duration
In [2]: parse_duration('P1M')
Out[2]: isodate.duration.Duration(0, 0, 0, years=0, months=1)
如有必要,您还可以将此对象转换为datetime.timedelta
对象(提供start
orend
参数以便可以根据提供的日期计算正确的持续时间):
In [8]: import datetime
In [9]: d = parse_duration('P1M')
In [10]: d.todatetime(start=datetime.datetime.today())
Out[10]: datetime.timedelta(31)
如果您知道字符串表示的结构,您可以使用time
模块的strftime
和strptime
import time
sdate = 'Sat, 15 Dec 2012 04:01:02'
timestamp = time.strftime("%s", time.strptime(sdate, '%a, %b %d %H:%M:%S')))
有用的网站:http ://strftime.org/