C語言 UTC時間轉換為北京時間

2021-10-14 17:23:26 字數 866 閱讀 1555

最近使用gps模組獲取解析gprmc資料的時候,獲取到的是utc時間,需要轉換為北京時間,網上看了一些文章,發現存在一些問題,於是自己完善了一下,並做了注釋,方便理解。

typedef struct  

*p_nmea_time, s_nmea_time;

//utc時間轉換為任意時區時間,如果是轉換為北京時間,timezone傳8即可

static void utc_to_local_time(p_nmea_time utc_time, int8_t timezone, p_nmea_time local_time)

if(month == 8 || month == 1)//這裡應該是8月和1月,因為8月和1月的上乙個月(7月和12月)的天數是31天的

lastlastday = 31;

} else if(month == 4 || month == 6 || month == 9 || month == 11)

else

if(hour >= 24)// if >24, day+1

} }

if(hour < 0)// if <0, day-1

} }

// transfer value to local_time

local_time->year = year;

local_time->month = month;

local_time->date = day;

local_time->hour = hour;

local_time->min = utc_time->min;

local_time->sec = utc_time->sec;

}

UTC時間與北京時間

經常混淆於此,特地研究了一下,記錄在此以備忘。整個地球分為二十四時區,每個時區都有自己的本地時間。在國際無線電通訊場合,為了統一起見,使用乙個統一的時間,稱為通用協調時 utc,universal time coordinated utc與格林尼治平均時 gmt,greenwich mean tim...

UTC與北京時間

整個地球分為二十四時區,每個時區都有自己的本地時間。在國際無線電通訊場合,為了統一起見,使用乙個統一的時間,稱為通用協調時 utc,universal time coordinated utc與格林尼治平均時 gmt,greenwich mean time 一樣,都與英國倫敦的本地時相同。在本文中,...

UTC時間與北京時間相互轉換

時間戳是指格林威治時間1970年01月01日00時00分00秒 北京時間1970年01月01日08時00分00秒 起至現在的總秒數。public class homecontroller controller public class homecontroller controller 將時間轉換成...