Python中的datetime字符串格式化符号%s(小写字母s)是什么意思?

4
我用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,它已经被记录下来可以做到你想要的事情了呢?这仍然是一个合理的问题,但我只是好奇。 - Mad Physicist
1
@donkopotamus。我认为这不完全是重复内容。 - Mad Physicist
因为它不是1989年C标准所要求的,所以%s没有记录; 请阅读https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior中表格前面的段落。 - jonrsharpe
1
这只是一个意外。我仍然觉得奇怪的是,即使标准不要求,它也没有被记录在任何地方。 - Ryan Olsen
1
要查看您的平台支持的完整格式代码集,请参考strftime(3)文档。<- 它将在那里记录。 - jonrsharpe
我也认为这是一个合理的问题。当我无意中在格式参数中放入小写字母's'而不是大写字母时,我发现了这种行为,并想知道它会产生什么样的结果,以及为什么它在Python网站上没有记录。谢谢你的提问! - Rocckk
1个回答

0

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


2
好的,建议中的第一个答案表明这并不是那么简单,特别是要注意时区方面的警告。请参考链接:https://dev59.com/kWgt5IYBdhLWcg3w5hWr#11743262。 - Thierry Lathuille
问题最终是关于从意外使用“%s”中恢复“第二个”信息...这应该不受UTC与“localtime”相互作用的影响。 - donkopotamus

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接