首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Arduino-ESP8266上用C/C++从字符串解析time_t?

如何在Arduino-ESP8266上用C/C++从字符串解析time_t?
EN

Stack Overflow用户
提问于 2020-09-01 02:47:46
回答 1查看 814关注 0票数 1

我正在用Arduino编程的ESP8266 Huzza微控制器上写一个嵌入式程序,我正在用它做一个气象站。我正在从服务器获取一些json weatherdata,在那里我可以解析出请求上的Date标头,以了解当前时间(因为微控制器没有内部时钟),其格式如下

代码语言:javascript
复制
Mon, 31 Aug 2020 18:11:26 GMT

我希望控制器每天早上6:00更新它的预报(雨的LED闪烁),并获得下一个12-24小时的预报。天气预报JSON数据以以下格式提供天气预报

代码语言:javascript
复制
2020-06-10T13:00:00Z

如何将它们解析为time_t,以便比较它们并计算何时更新我的预测?我在标准C库中查找了time.h,但找不到解析器。

EN

回答 1

Stack Overflow用户

发布于 2020-09-01 16:05:58

如果您有strptime(),请考虑以下内容:

代码语言:javascript
复制
#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));
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63676510

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档