kru*_*ita 2 python datetime timestamp
我想知道如何转换这种日期格式
"Thu 21st Aug '14, 4:58am"
Run Code Online (Sandbox Code Playgroud)
到Python的时间戳?
我需要转换的另一种格式:
"Yesterday, 7:22am"
Run Code Online (Sandbox Code Playgroud)
我尝试解析util没有成功...
如果您还没有这样做,请查看parse函数dateutils.parser以解析表示日期的字符串...
>>> from dateutil.parser import parse
>>> dt = parse("Thu 21st Aug '14, 4:58am")
>>> dt
datetime.datetime(2014, 8, 21, 4, 58)
Run Code Online (Sandbox Code Playgroud)
...然后要将datetime对象转换为时间戳,您可以执行以下操作:
>>> import time
>>> import datetime
>>> time.mktime(dt.timetuple())
1408593480.0
Run Code Online (Sandbox Code Playgroud)
作为旁注,parse是一个有用的功能,可以识别各种不同的日期格式.然而,它有时太有用了,并且可能会看到可能不是日期的日期:
>>> parse("14, m 23")
datetime.datetime(2014, 8, 23, 0, 14)
Run Code Online (Sandbox Code Playgroud)
如果你还想解析诸如"昨天,早上7:22"之类的表达式,你可以做以下两件事之一:
将"昨天","yester-day","yday"和其他变体替换为"25/08/2014"(或其他适当的日期),然后parse在新字符串上使用.
使用另一个库来解析字符串.parsedatetime是一个选项......
这是您的示例中的解析时间:
>>> 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)
Run Code Online (Sandbox Code Playgroud)
要将此日期表示形式d转换为datetime对象,可以像这样解压缩元组:
>>> dt = datetime.datetime(*d[0][:7])
>>> dt
datetime.datetime(2014, 8, 25, 7, 22)
Run Code Online (Sandbox Code Playgroud)
现在dt可以通过上述方式轻松转换为时间戳.
| 归档时间: |
|
| 查看次数: |
4115 次 |
| 最近记录: |