TOP

C語言北京時間轉為格林威治時間(一)
2017-10-18 09:07:36 】 瀏覽:10590
Tags:

編程的某些時候需要使用格林威治時間進行時間的管理,而在平時我們幾乎都是使用年、月、日、時、分、秒這種時間。兩者的轉換在編程中十分重要。一般在使用編程軟件編寫時都自導轉換函數,不過在嵌入式里面可就沒有那么好的待遇了,本篇提供一種年月日時間轉換為格林威治時間的方法,首先了解一下格林威治時間:


格林威治時間:格林威治時間是指位于英國倫敦郊區的皇家格林尼治天文臺的標準時間优乐棋牌app下载,在編程中直白的說就是從1970年1月1日0時0分0秒開始到現在的秒數。明白了這個將年月日格式的時間轉換為格林威治時間就很容易了。


首先我們計算出現在的時間年和1970年之間有多少年,這些年中有幾個閏年优乐棋牌app下载,從而算出共有多少天优乐棋牌app下载,然后今年的已經過去的月份中有多少天,再加上當月的天數就是總共過去的天數,這些天數相加,計算出秒數,剩下的就是將今天的從0點開始所走過的秒數計算出來即可。下面是轉換函數:


// 時間結構體
typedef struct{
      unsignedchar second;
      unsignedchar minute;
      unsignedchar hour;
      unsignedchar day;
      unsignedchar week;
      unsignedchar month;
      unsignedchar year;
      unsignedchar century;
}DATETIME;
 
 

long TimerSwitch( DATETIME curData )
{
      unsigned short curyear;