Python - 解析字符串并将其转换为时间戳
Python - Parsing and converting string into timestamp
我有下一种格式的字符串:2017-02-14T09:51:46.000-0600
解析字符串并将其转换为时间戳的最佳方法是什么?
我可以选择使用正则表达式或编写自己的解析函数,但是否有任何内置方法可以帮助我?
这是您可以在时间戳中解析和转换字符串的代码形式
import time
import datetime
s = "2017-02-14T09:51:46.000-0600"
time.mktime(datetime.datetime.strptime(s, "%d/%m/%Y").timetuple())
在这种情况下,预期输出是
1322697600.0
第一部分是创建日期时间对象:
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')
格式说明符的定义。
- %Y: 以世纪为十进制数的年份,例如1970, 1988, 2001, 2013
- %m:以零填充的十进制数表示的月份(例如 01、02、...、12)
- %d:以补零的十进制数字形式表示的月份中的第几天(例如 01、02、...、31)
- %H: 小时
(24 小时制)作为零填充的十进制数(例如 00、01、...、23)
- %M:分钟作为零填充的十进制数(例如 00、01、...、59)
- %S:秒为补零的十进制数(例如 00、01、...、59)
- %f: 微秒为十进制数,左边补零 (000000, 000001, ..., 999999)
- %z:+HHMM 或 -HHMM 形式的 UTC 偏移量,如果对象是原始的,则为空字符串(空或 +0000、-0400、+1030)
我有下一种格式的字符串:2017-02-14T09:51:46.000-0600
解析字符串并将其转换为时间戳的最佳方法是什么? 我可以选择使用正则表达式或编写自己的解析函数,但是否有任何内置方法可以帮助我?
这是您可以在时间戳中解析和转换字符串的代码形式
import time
import datetime
s = "2017-02-14T09:51:46.000-0600"
time.mktime(datetime.datetime.strptime(s, "%d/%m/%Y").timetuple())
在这种情况下,预期输出是
1322697600.0
第一部分是创建日期时间对象:
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')
格式说明符的定义。
- %Y: 以世纪为十进制数的年份,例如1970, 1988, 2001, 2013
- %m:以零填充的十进制数表示的月份(例如 01、02、...、12)
- %d:以补零的十进制数字形式表示的月份中的第几天(例如 01、02、...、31)
- %H: 小时 (24 小时制)作为零填充的十进制数(例如 00、01、...、23)
- %M:分钟作为零填充的十进制数(例如 00、01、...、59)
- %S:秒为补零的十进制数(例如 00、01、...、59)
- %f: 微秒为十进制数,左边补零 (000000, 000001, ..., 999999)
- %z:+HHMM 或 -HHMM 形式的 UTC 偏移量,如果对象是原始的,则为空字符串(空或 +0000、-0400、+1030)