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