【问题标题】:What does the Python datetime string %s (lowercase s) do? [duplicate]Python 日期时间字符串 %s(小写 s)有什么作用? [复制]
【发布时间】:2019-12-17 20:58:12
【问题描述】:

我使用 Python 3.0 编写了一个程序,该程序使用以下代码行生成这些格式化的时间值,并用它记录了大量数据。

但是,我确实使用了%s(小写)而不是%S(大写)。它似乎没有在 Windows 上运行并引发错误,但在我的 Linux 设备上它运行并生成如下所示的输出。这个“秒”数字代表什么?

我检查了所有文档,但在任何地方都找不到它的作用。我已经用这个记录了很多数据,如果有办法将数字转换为秒,可以节省大量时间。

代码: datetime.datetime.fromtimestamp(time.time()).strftime('%Y-%m-%d %H:%M:%s')

输出:

2019/08/06 10:34:1565051655

【问题讨论】:

  • 你为什么不使用%S,因为它已被记录为你想做的事?仍然是一个合理的问题,但我只是好奇。
  • @donkopotamus。我不认为这完全是一个骗局
  • %s 没有记录,因为 1989 C 标准不要求它;阅读docs.python.org/3/library/…中表格之前的段落。
  • 这只是个意外????我仍然觉得奇怪的是它没有记录在任何地方,即使标准没有要求
  • “要查看您的平台支持的完整格式代码集,请查阅 strftime(3) 文档。”

标签: python datetime


【解决方案1】:

它代表自 Unix 纪元以来的秒数。您可以使用datetime.datetime.fromtimestamp 来恢复原始日期时间(包括秒数)

【讨论】:

  • 好吧,the first answer 到建议的副本表明它不是那么简单,请特别参阅有关时区的警告。
  • 问题归根结底是关于从%s 的意外使用中恢复“第二”信息...应该不受UTC 与localtime 相互作用的影响
猜你喜欢
  • 2021-11-27
  • 2011-01-29
  • 2016-11-24
  • 2015-02-23
  • 1970-01-01
  • 2015-01-17
  • 2016-06-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多