fin*_*oot 4 python time logging epoch
datefmt- 使用 所接受的指定日期/时间格式time.strftime()。
但是,如果我查看 的文档time.strftime(),就会发现其中甚至没有提到 UNIX 纪元时间戳。
更新:如果我按照 的%s联机帮助页中的描述使用strftime(3),它适用于 Linux,但不适用于 Windows。
import time
time.strftime('%s')
Run Code Online (Sandbox Code Playgroud)
结果是
ValueError: Invalid format string
Run Code Online (Sandbox Code Playgroud)
因此,我正在寻找一种独立于平台的方法来使用自 UNIX 纪元以来的秒数作为日志记录中的日期格式。
肯定不可能做到这一点asctime,因为有关支持的格式字符串的行为strftime是依赖于平台的。
文档中的“strftime()和strptime()行为”部分有一段关于此内容的内容:
\n\n\n支持的全套格式代码因平台而异,因为Python调用平台C库\xe2\x80\x99s
\nstrftime()函数,平台变化很常见。要查看您的平台支持的完整格式代码集,请参阅strftime(3)文档。
https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior
\n\n但是,忽略asctime,您仍然可以在记录格式字符串中使用自 UNIX 纪元以来的秒数。还有另一个属性称为created:
\n\n\n\n
%(created)f- 创建 LogRecord 的时间(由 返回time.time())。
https://docs.python.org/3/library/logging.html#logrecord-attributes
\n\n由于time.time()适用于 Linux 和 Windows,因此您可以在日志记录格式字符串中使用created代替。asctime