规格strptime
:
http://pubs.opengroup.org/onlinepubs/9699919799/functions/strptime.html
对可能的转换规范以及它们需要什么输入基本很清楚。但是,似乎没有关于此函数如何将结果存储在struct tm
. 如果多个说明符读取部分或全部冲突的数据会发生什么。一个简单的例子是同时存在%m
和%b
(甚至重复%m
的)读取冲突的月份,但也许一个更有趣的例子是%d
(每月的某天)和%a
(每周的某天)冲突。哪个优先?strptime
甚至应该确保在 中的一致输出,struct tm
或者只是将字段存储为已读?某些事情,如%W
(一年中的一周)在struct tm
,所以我认为它们必须导致生成基于其他字段的派生输出,但尚不清楚何时适用。
我意识到,由于规范似乎缺乏,我可能会要求一个根本不存在的答案,但可以表征一个有用答案的事情是:
- 标准化功能所基于的历史实现的行为。
- 相关缺陷报告的引用
- 指向该主题过去讨论的链接(邮件列表、错误跟踪器、usenet 等)
- 时间解析的其他相关标准