09:00 在 YAML 中是什么意思?

What does 09:00 mean in YAML?

09:00 在 YAML 中是什么意思?有官方定义吗?

我看不到 anything about this syntax in the tags section of the spec。给定以下 YAML:

- 09:00
- 10:00

PyYAML 只将第一个解释为字符串

 >>> import yaml
 >>> yaml.load("- 09:00\n- 10:00")
 ['09:00', 600]

YAMLlint 将两者都转换为秒数:

--- 
- 32400
- 36000

应该是什么?这个定义好吗?

您指的是规范的 1.2 版本,但 PyYAML 仅兼容 1.1。在 1.1 规范中有对 sexagesimals 的引用,其代码将 09:00 识别为整数。

我的回答here on SO gives an example on how to tweak my ruamel.yaml(源自 PyYAML)不将六十进制识别为整数,而是识别为字符串。您也应该能够将该技巧应用于 PyYAML 本身。

从 ruamel.yaml 0.11 开始,其 RoundTripLoader 将默认不支持未明确标记 %YAML 1.1.

的文档中的六十进制