【问题标题】:How to convert date/time string to epoch?如何将日期/时间字符串转换为纪元?
【发布时间】:2017-11-10 16:43:30
【问题描述】:

有以下字符串:

"date Thursday June 03 12:02:56 2017"

将其转换为纪元时间的正确方法是什么?

【问题讨论】:

  • 这究竟代表什么?一个字符串?
  • @juanpa.arrivillaga 对不起,是的。刚刚澄清了
  • 只是一个开始,不是解决方案,但这个帖子可能会有所帮助:stackoverflow.com/questions/311627/…

标签: python python-2.7 datetime epoch


【解决方案1】:

您可以使用 datetime.strptime() 来解析您的日期,然后只使用 epoch 进行增量:

from datetime import datetime as dt

epoch = dt(1970, 1, 1)
date = "date Thursday June 03 12:02:56 2017"

epoch_time = int((dt.strptime(date, "date %A %B %d %H:%M:%S %Y") - epoch).total_seconds())
# 1496491376

【讨论】:

  • @juanpa.arrivillaga - 仅在 Python 3.x 上,并且 OP 用python-2.7 明确标记了他的问题...
  • 哦,太好了,我完全不知道 Python 2 日期时间对象缺少时间戳方法。
【解决方案2】:

另一种解决方案是通过使用time.strptime() 解析来创建time.struct_time 结构,然后将其传递给calendar.timegm() 以将 纪元时间。

import time
import calendar
timestr = "date Thursday June 03 12:02:56 2017"
calendar.timegm(time.strptime(timestr, "date %A %B %d %H:%M:%S %Y"))
# returns 1496491376

【讨论】:

    猜你喜欢
    • 2012-04-03
    • 2018-02-18
    • 2012-11-22
    • 2014-11-18
    • 1970-01-01
    • 1970-01-01
    • 2012-06-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多