系統時間與格林威治時間

2021-09-09 04:50:58 字數 2198 閱讀 1379

/*計算當前時間到格林威治時間總共過了多少秒,以當前北京地區東八區時間為準*/

unsigned long mktime_second(const unsigned int year0, const unsigned int mon0,

const unsigned int day, const unsigned int hour,

const unsigned int min, const unsigned int sec);

int isleapyear = 0;

leap_years = year/4 - year/100;///計算普通閏年

leap_years += year/400;///加上世紀閏年

閏年為366天,平年為365天

days = year * 365 + leap_years;如果當前年份是2023年,則到此便計算出了從公元0年初到2023年尾的天數

///今年是否是閏年

if((year0%4 == 0 && year0 % 100!=0) || year0%400==0)

按平年計算,到上個月為止總共度過的天數

for(i=0;i2)

days= days + day - 1;

///days應該減去2023年以前的天數,1970/1/1 0:0:0 0

/// year = 1969 leap_years = 1969/4-1969/100 + 1969/400 = 492 - 19 + 4 = 477

/// isleapyear = 0

/// days = 1969 * 365 + 477 = 719162

//////

///考慮到時區的問題,實際秒鐘資料應該在當前小時的基礎之上加上時區時間time_zone

///即在北京時間東八區,實際應該計算當前時間到1970/1/1 08:0:0 0的秒鐘數

///即 seconds = 8 * 60 * 60

seconds = (hour) * 60 * 60 +

(min) * 60 + sec;

resultvalue = (days - 719162) * 24 * 60 * 60;

resultvalue += seconds;

resultvalue -= ((unsigned long)time_zone)*60*60;

return resultvalue;

}

/*通過格林威治時間,計算本地時間*/

int gmt_tolocaltime(unsigned long gmt_time,

int* year,

int* month,

int* day,

int* hour,

int* minute,

int* sec);

int i =0;

int days;

*sec = (int)(gmttime%60);///秒鐘數

gmttime = gmttime/60;///總共有多少分鐘

*minute = (int)(gmttime%60);

gmttime = gmttime/60;///總共有多少小時

*hour = (int)(gmttime%24);

gmttime = gmttime/24;///總共有多少天

///去掉小時分鐘秒鐘後,轉換成從公元元年開始到現在的天數

///不包括今天

gmttime += 719162;

首先不考慮閏年計算年份和天數

計算年份

*year = (int)(gmttime/365);

days = (從公元元年開始到year的閏年個數 + 當前年份已經度過的天數)除以365後的餘數

days = (int)(gmttime%365);

for(;;)else

} days -= leap_years;

(*year)++;

days++;

計算今年總共度過了多少秒

if(((*year)%4 == 0 && (*year) % 100!=0) || (*year)%400==0)

*month = 1;

for(i=0;i<12;i++)else

}*day =days;

return 0;

}

已知格林威治時間怎麼轉北京時間?

utctime為格林威治時間,其中有相應變數分別存年月日時分秒資訊 private void refreshtime utctimeinfo utctime string strhour str0.substring 0 2 string strminute str0.substring 2 4 s...

卡塞格林光學系統 改進型卡塞格林光學系統的設計

改進型卡塞格林光學系統的設計 普通的卡塞格林光學系統,其主次鏡分別由拋物面和雙曲面組合而成,非球面鏡的加工難度大 成本高,針對這些特點對卡塞格林光學系統進行了改進。改進型的卡塞格林光學系統與傳統的卡塞格林光學系統對比具有加工難度 本文共3頁 閱讀全文 21世紀不管是在民用上還是軍用上,甚至在日常生活...

日期 將格林尼治時間(GMT)轉化為北京時間

格里尼治時間,就是我們常常說的0度經線的地方平時,也叫格林平時,格林平時的英文是greenwich mean time,簡稱gmt,實際上就是ut universal time 也叫世界時的。從0度格林經線到120度東八區時區經線,經差為120度,換算成時間為8小時 120除以15 所以格林平時和北...