我有以下格式的字符串: 2017-02-14T09:51:46.000-0600
将字符串解析并转换为时间戳的最佳方法是什么? 我有选择使用正则表达式或编写我自己的函数进行解析,但是有没有内置的方法可以帮助我?
答案 0 :(得分:2)
第一部分是创建日期时间对象:
from datetime import datetime
date_string = "2017-02-14T09:51:46.000-0600"
# I'm using date_string[:-9] to skip ".000-0600"
format_date = datetime.strptime(date_string, '%Y-%m-%dT%H:%M:%S.%f%z'))
格式日期之后是:
print(format_date)
2017-02-14 09:51:46
时间戳是:
print(format_date.timestamp())
1487062306.0
这里有一点澄清,在python reference page上,您可以看到我使用的'%Y-%m-%dT%H:%M:%S.%f%z')
格式说明符的定义。
答案 1 :(得分:0)
以下是您可以在时间戳
中解析和转换字符串的代码表单>>> import time
>>> import datetime
>>> s = "2017-02-14T09:51:46.000-0600"
>>> time.mktime(datetime.datetime.strptime(s, "%d/%m/%Y").timetuple())
1322697600.0