【问题标题】:Python 2.7 Convert YYYY-MM-DD Date to Unix String [duplicate]Python 2.7 将 YYYY-MM-DD 日期转换为 Unix 字符串 [重复]
【发布时间】:2017-06-29 02:00:38
【问题描述】:

我正在尝试在 Python 2.7 中将日期转换为 Unix 时间(我最终需要作为字符串)。例如,2017-06-29(没有时间,但为了转换为 Unix 应始终为 00:00:00)应该是字符串类型的 '1498694400'。

将 YYYY-MM-DD 转换为 Unix 字符串的最简洁、最有效的方法是什么?

【问题讨论】:

  • 搜索 [python] convert a date to Unix time 时有 85 个结果。请意识到 S.O.是一个很棒的 Q/A 数据库,而不仅仅是一个询问 Qs 的单向论坛。祝你好运。
  • 并且,StackOverflow 旨在帮助人们修复现有的编程代码。请阅读stackoverflow.com/help/how-to-askstackoverflow.com/help/dont-askstackoverflow.com/help/mcve 并在此处发布更多问题之前使用tour。祝你好运。
  • @shellter 感谢您的关注,但请不要无礼。我是新来的,还没有机会做出贡献。在我的搜索结果中,我没有看到日期格式是 YYYY-MM-DD。也许我错过了。或者,也许您假设每个人都知道在代码相似时如何调整代码。我是编程新手,所以希望有人能提供准确的答案。

标签: python string date unix time


【解决方案1】:

由 katrielalex 在this post 中提供:

>>> import time
>>> import datetime
>>> s = "01/12/2011"
>>> time.mktime(datetime.datetime.strptime(s, "%d/%m/%Y").timetuple())
1322697600.0

【讨论】:

  • time 一个模块就足够了。 time.mktime(time.strptime('2017-06-29', '%Y-%m-%d')) 将完成这项工作。看看这个超级有用的reference
  • @Shiva 谢谢,这让我非常接近。尽管由于时区差异,unix 时间最终会延迟几个小时。我想我只是在转换之前从日期中减去小时数,但我担心这种黑客行为最终可能会导致问题。有没有更好的办法?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-19
  • 2011-11-01
  • 2015-06-29
  • 1970-01-01
  • 1970-01-01
  • 2014-08-09
相关资源
最近更新 更多