KEIL MDK 中localtime函数使用方法


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

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

 

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

2、示例如下。

 1 void unixtime_to_date(uint32_t unixtime, struct date *date)
 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到此时经过的秒数。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM