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') | 
。