gpt4 book ai didi

c++ - C++ 中的日期/时间解析

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:05:59 24 4
gpt4 key购买 nike

在用 C++ 进行数据/时间解析(将任何格式的字符串转换为日期)时,我发现了以下有用的方法

1) strptime() - 这里的 %d、%m 等可以有 1 个或 2 个字符。该功能将负责这一点。因此,它将强制我们在两个转换说明符之间使用分隔符。例如:给 %d%m 是无效的,它必须给 %d/%m 或任何其他分隔符。这也不支持时区。

2) boost 日期 IO - 这里的 %d、%m 必须有 2 个字符。现在,我得到的输入字符串不能保证有这个。结果,它不可能成功地使用它。但是,这似乎确实支持时区,但不确定。因为它说输入它确实支持时区

所以我打算结合使用两者来确定日期。但我想得到一个我也可以考虑时区的地方。但似乎没有人支持这一点。

有人有什么建议吗?Rgds,阿杰

最佳答案

@AJ:添加了另一个答案以便代码格式化

#include <stdio.h>
#include <sys/time.h>
#include <time.h>

int
main(void)
{
struct tm tm[1] = {{0}};

strptime("Tue, 19 Feb 2008 20:47:53 +0530", "%a, %d %b %Y %H:%M:%S %z", tm);
fprintf(stdout, "off %ld\n", tm->tm_gmtoff);
return 0;
}

运行看起来像(glibc 2.10.1):

freundt@clyde:pts/28:~/temp> ./test
off 19800

关于c++ - C++ 中的日期/时间解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3414509/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com