【问题标题】:Converting to unix timestamp Python转换为 Unix 时间戳 Python
【发布时间】:2017-07-18 09:12:46
【问题描述】:

我正在尝试将 now 的日期戳转换为 Unix TimeStamp,但是下面的代码似乎被击中,然后只是跳转到我的应用程序的末尾,因为似乎不喜欢 time.mktime 部分。

from datetime import datetime
import time

now = datetime.now()
toDayDate = now.replace(hour=0, minute=0, second=0, microsecond=0)
newDate = time.mktime(datetime.strptime(toDayDate, "%Y-%m-%d %H:%M:%S").timetuple())
print(newDate)

【问题讨论】:

  • 添加一个*time.mktime(*date...
  • strptime 根据格式规范解析日期字符串 -- toDayDate 不是日期字符串,它是日期,因此您不需要在那里解析任何内容...跨度>

标签: python datetime time


【解决方案1】:

改变

newDate = time.mktime(datetime.strptime(toDayDate, "%Y-%m-%d %H:%M:%S").timetuple())

newDate = time.mktime(datetime.timetuple())

举个例子:

from datetime import datetime
from time import mktime
t = datetime.now()
unix_secs = mktime(t.timetuple())

得到unix_secs = 1488214742.0

【讨论】:

    【解决方案2】:

    您可以在 Python 3 中使用 datetime.timestamp() 来获取 POSIX 时间戳,而不是使用 now()

    返回的值是浮点类型。 timestamp() 依赖于 datetime,而 datetime 又依赖于 mktime()。不过datetime.timestamp()支持的平台更多,取值范围更广。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-14
      • 2013-12-14
      • 1970-01-01
      • 1970-01-01
      • 2013-04-07
      • 2015-09-29
      相关资源
      最近更新 更多