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