Python: convert complicated date and time string to timestamp
我想知道如何转换这个日期格式
1 | "Thu 21st Aug '14, 4:58am" |
用python创建时间戳?
我需要转换的另一种格式:
1 | "Yesterday, 7:22am" |
号
我尝试分析Util但没有成功…
如果您还没有这样做,请查看
1 2 3 4 | >>> from dateutil.parser import parse >>> dt = parse("Thu 21st Aug '14, 4:58am") >>> dt datetime.datetime(2014, 8, 21, 4, 58) |
…然后要将
1 2 3 4 | >>> import time >>> import datetime >>> time.mktime(dt.timetuple()) 1408593480.0 |
号
附带说明,
1 2 | >>> parse("14, m 23") datetime.datetime(2014, 8, 23, 0, 14) |
如果您还想分析"昨天,上午7:22"之类的表达式,可以执行以下两项操作之一:
用"25/08/2014"(或其他适当日期)替换"昨天"、"昨天"、"昨天"、"昨天"、"昨天"和其他变体,然后在新字符串上使用
使用另一个库来分析字符串。ParseDateTime是一个选项…
下面是ParseDateTime的示例:
1 2 3 4 5 | >>> import parsedatetime.parsedatetime as pdt >>> p = pdt.Calendar() >>> d = p.parse("Yesterday, 7:22am") >>> d ((2014, 8, 25, 7, 22, 0, 0, 237, -1), 3) |
。
要将此日期表示形式
1 2 3 | >>> dt = datetime.datetime(*d[0][:7]) >>> dt datetime.datetime(2014, 8, 25, 7, 22) |
现在,
您可以使用:
1 2 | a ="Thu 21st Aug '14, 4:58am" datetime.datetime.strptime(a, '%a %dst %b \'%y, %H:%M%p') |
。