是否有适用于 Windows 的 strptime()
的良好等效实现?不幸的是,这个 POSIX 函数似乎不可用。
Open Group description of strptime - 摘要:它将文本字符串如 "MM-DD-YYYY HH:MM:SS"
转换为 tm struct
,与 strftime() 相反
.
最佳答案
如果您不想移植任何代码或谴责您的项目进行提升,您可以这样做:
- 使用
sscanf
解析日期
- 然后将整数复制到
struct tm
中(从月份减去 1,从年份减去 1900——月份是 0-11,年份从 1900 开始) - 最后,使用
mktime
得到一个 UTC 纪元整数
请记住将 struct tm
的 isdst
成员设置为 -1,否则您将遇到夏令时问题。
关于c++ - Windows 上的 strptime() 等价物?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/321849/