我需要将时间戳转换为秒,在条件语句中使用它,并将其与其他时间戳进行比较。
我尝试使用bash进行操作,但是我根本无法在Python脚本中使用它:
date -d "2019-04-05T10:10:16,841" +%s
产生1554433816
答案 0 :(得分:2)
获取时期开始时的datetime对象,字符串的datetime对象,并按如下所示减去它们。
import datetime
epoch = datetime.datetime.utcfromtimestamp(0)
dt = datetime.datetime.strptime("2019-04-05T10:10:16,841", "%Y-%m-%dT%H:%M:%S,%f")
epoch = int((dt - epoch).total_seconds())
print(epoch)
#1554459016
答案 1 :(得分:1)
您可以使用datutil.parser在python中进行转换。 在3.6上测试。
from dateutil import parser
t = '2019-04-05T10:10:16,841'
parsed = parser.parse(t)
unix_timestamp = int(parsed.timestamp())
print(unix_timestamp)
时间戳函数返回浮点数。我使用整数强制转换只是为了减少毫秒,但是如果需要,可以保留它们。
编辑:在2.7上测试:
from dateutil import parser
import time
t = '2019-04-05T10:10:16,841'
parsed = parser.parse(t)
unix_timestamp = int(time.mktime(parsed.timetuple()))
print unix_timestamp
注意:mktime()返回一个浮点数,但没有毫秒。