KEIL MDK 中localtime函数使用方法
localtime函数用于将Unix时间戳转换成本地世界协调时间(Universal Time Coordinated,UTC),gmtime函数用于将Unix时间戳转换成0时区UTC时间。

在嵌入式系统中,可能因为时区未设置,导致localtime得到的也是0时区时间,需要自己加8小时得到北京时间。

1、首先包含time.h头文件。

2、示例如下。

 2 {
 3     uint32_t t = unixtime + 28800;    //北京时间是东8区,时间戳要加8小时
 4     struct tm *t_tm;
 5 
 6     t_tm = localtime(&t);
 7     date->year   = tm->tm_year + 1900;
 8     date->month  = tm->tm_mon + 1;
 9     date->day    = tm->tm_mday;
10     date->hour   = tm->tm_hour;
11     date->minute = tm->tm_min;
12     date->second = tm->tm_sec;
13 }

补充:

GMT(Greenwich Mean Time)时间,又叫格林威治时间。把格林威治1970年1月1日0点0分0秒定义为时间0。当前GMT时间是指从时间0到此时经过的秒数。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐