将人类可读的日期和时间转换为Unix时间浮点数

时间:2017-05-24 13:02:24

标签: python unix time

我必须将ls of rsync返回的日期和时间转换为由time.time()返回的Unix纪元时间浮点数。

此时对我来说,它看起来像: 2017/05/24 hh:mm:ss。 但据我所知,它可能因机器而异,因为rsync使用ssh和本地ls,我期待通过它。

有没有简单的方法可以将最常见的人类可读日期和时间普遍转换回Unix时间浮点数? 要清楚。我希望能够将D和T的任何文本表示转换为浮点数。

如果datetime可以做到这一点,我现在无法找到。

1 个答案:

答案 0 :(得分:1)

您需要先使用time.strptime,然后calendar.timegm 根据您是否要转换为本地时间或UTC时间,有不同的选项。请查看相关文档。 要获得浮动部分,您需要输入小时,分钟,秒和毫秒。在你的例子中,你只给出年,月和日,所以剩下的应该是零,即没有毫秒因此没有浮动部分。

这是一个最小的例子:

import calendar, time

t = time.strptime('2017/05/24', '%Y/%m/%d')
epoch = calendar.timegm(time.struct_time(t))
print(epoch)

1495584000