python中表示的常见时间格式

时间:2018-12-23 01:12:29

标签: python time

我正在编写一个时间解析器,我想知道是否有比以下默认格式更常见的日历时间表示形式:

# 12:13:14 PM (FORMAT_TIME)
"%H:%M:%S %p",

在现实(非科学/ cs)世界中常用的其他时间表示方法还有哪些?

我想一些模式可能是:

12:13:14 # (no am/pm) -- %H:%M%S

或者:

12:13:14.123 # (fractional seconds) -- %H:%M%S.%f

或者:

12:13:14.123 PM # (fractional seconds) -- %H:%M%S.%f %p

或者:

12:13 # (no seconds, no am/pm) -- %H:%M

或者:

12:13 PM # (no seconds) -- %H:%M %p

尽管我感觉上面的三种模式将被不常用。有什么通用的模式可以用来显示时间吗?

3 个答案:

答案 0 :(得分:0)

请查看Python标准time库,以获取有关Python时间格式的信息:

https://docs.python.org/3/library/time.html#module-time

由于计算原因,您可能会错过的一个重要时间是距纪元的秒数,但是正如您所说的,这是出于“真实世界”的表示,可能并不重要。

答案 1 :(得分:0)

考虑24小时制,使用不同的分隔符(点号“。​​”,在欧洲部分地区很常见)。在小时中带/不带前导零。 “ AM / PM”前的可选空格,小写(am / pm)。您可能会看到的法语惯例是%H h%M。例如18 h 45 == 6:45 pm

答案 2 :(得分:0)

ISO 8601似乎是值得支持的标准,并且需要考虑一些有趣的事情:

  • 基本时间格式不允许使用冒号(164100可以映射到16:41:00);扩展格式使用冒号作为分隔符
  • 午夜除了00:00外,还可以显示为24:00
  • 可能存在分数,但仅在最低有效位数上;分隔符可以是逗号或句点

此外,您是否需要处理时区标识符?如果是这样,那就是一大堆蠕虫。

我认为您不应该重新发明方向盘,而应该使用经过战斗力测试的库来做这种事情(除非您只是为了娱乐而做)。