gpt4 book ai didi

c++ - 如何在Arduino-ESP8266上从C/C++中的字符串解析time_t?

转载 作者:行者123 更新时间:2023-12-02 10:10:40 29 4
gpt4 key购买 nike

我在用Arduino编程的ESP8266 Huzzah微 Controller 上编写一个嵌入式程序,在其中使用它制作气象站。我正在从服务器中获取一些json weatherdata,可以在其中解析请求上的Date header 以了解当前时间(由于微 Controller 没有内部时钟),因此采用这种格式

Mon, 31 Aug 2020 18:11:26 GMT
我希望 Controller 在每天的06:00更新其预测(雨淋闪烁的LED),并获取下一个12-24小时的预测。天气预报JSON数据以以下格式提供天气预报
2020-06-10T13:00:00Z
如何将它们解析为 time_t,以便我可以比较它们并计算何时更新预测?
我已经在标准C库中查看了 time.h,但无法找到解析器。

最佳答案

如果您有strptime(),请考虑以下事项:

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

int main() {
struct tm tm = {0};
const char *ts1 = "Mon, 31 Aug 2020 18:11:26 GMT";
strptime(ts1, "%A, %d %B %Y %H:%M:%S GMT", &tm);
printf("%s = %ld\n", ts1, timegm(&tm));
const char *ts2 = "2020-06-10T13:00:00Z";
strptime(ts2, "%Y-%m-%dT%H%M%SZ", &tm);
printf("%s = %ld\n", ts2, timegm(&tm));
}

关于c++ - 如何在Arduino-ESP8266上从C/C++中的字符串解析time_t?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63676510/

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