3

规格strptime

http://pubs.opengroup.org/onlinepubs/9699919799/functions/strptime.html

对可能的转换规范以及它们需要什么输入基本很清楚。但是,似乎没有关于此函数如何将结果存储在struct tm. 如果多个说明符读取部分或全部冲突的数据会发生什么。一个简单的例子是同时存在%m%b(甚至重复%m的)读取冲突的月份,但也许一个更有趣的例子是%d(每月的某天)和%a(每周的某天)冲突。哪个优先?strptime甚至应该确保在 中的一致输出,struct tm或者只是将字段存储为已读?某些事情,如%W(一年中的一周)在struct tm,所以我认为它们必须导致生成基于其他字段的派生输出,但尚不清楚何时适用。

我意识到,由于规范似乎缺乏,我可能会要求一个根本不存在的答案,但可以表征一个有用答案的事情是:

  • 标准化功能所基于的历史实现的行为。
  • 相关缺陷报告的引用
  • 指向该主题过去讨论的链接(邮件列表、错误跟踪器、usenet 等)
  • 时间解析的其他相关标准
4

1 回答 1

2

附加字段可用于验证日期。验证和验证,您可以将字符串转换为重新表示日期的一系列数字,然后您必须验证所有这些数字是否引用一个正确的日期,例如星期几是否正确,如果日期无效则strptime返回NULL.

于 2011-08-17T03:00:21.797 回答