欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
格林威治時間轉(zhuǎn)北京時間+根據(jù)日期計算星期幾 C語言程序
[打印本頁]
作者:
danq
時間:
2021-12-27 17:34
標(biāo)題:
格林威治時間轉(zhuǎn)北京時間+根據(jù)日期計算星期幾 C語言程序
#include <stdint.h>
#include <stdio.h>
typedef struct
{
int year;
int month;
int day;
int hours;
int minutes;
int seconds;
int weekday;
}mytime_t;
mytime_t utctime;
unsigned int Year,Mon,Day,Shi,Fen,Miao,Zhou;
/// 返回值:1-7,對應(yīng)周一到周天
uint8_t GetWeekDayNum(uint32_t year, uint8_t month, uint8_t day)
{
uint32_t weekday = 0U;
if (month < 3U)
{
/*D = { [(23 x month)/9] + day + 4 + year + [(year-1)/4] - [(year-1)/100] + [(year-1)/400] } mod 7*/
weekday = (((23U * month) / 9U) + day + 4U + year + ((year - 1U) / 4U) - ((year - 1U) / 100U) + ((year - 1U) / 400U)) % 7U;
}
else
{
/*D = { [(23 x month)/9] + day + 4 + year + [year/4] - [year/100] + [year/400] - 2 } mod 7*/
weekday = (((23U * month) / 9U) + day + 4U + year + (year / 4U) - (year / 100U) + (year / 400U) - 2U) % 7U;
}
if(weekday == 0)
{
weekday = 7;
}
return (uint8_t)weekday;
}
void UTCToBeijing(mytime_t* time)
{
uint8_t days = 0;
if (time->month == 1 || time->month == 3 || time->month == 5 || time->month == 7 || time->month == 8 || time->month == 10 || time->month == 12)
{
days = 31;
}
else if (time->month == 4 || time->month == 6 || time->month == 9 || time->month == 11)
{
days = 30;
}
else if (time->month == 2)
{
if ((time->year % 400 == 0) || ((time->year % 4 == 0) && (time->year % 100 != 0))) /* 判斷平年還是閏年 */
{
days = 29;
}
else
{
days = 28;
}
}
time->hours += 8; /* 北京時間比格林威治時間快8小時 */
if (time->hours >= 24) /* 跨天 */
{
time->hours -= 24;
time->day++;
if (time->day > days) /* 跨月 */
{
time->day = 1;
time->month++;
if (time->month > 12) /* 跨年 */
{
time->year++;
}
}
}
time->weekday = GetWeekDayNum(time->year, time->month, time->day); /* 重新計算周 */
}
void GMT_time()
{
//第一步:輸入對應(yīng)UTC時間
utctime.year = 2021;
utctime.month = 12;
utctime.day =27;
utctime.hours = 18;
utctime.minutes = 2;
utctime.seconds = 10;
utctime.weekday = 1;
//第二步:處理
UTCToBeijing(&utctime);//處理
//第三步:下面就是北京時間
Year =utctime.yea;
Mon =utctime.mont;
Day =utctime.da;
Shi =utctime.hour;
Fen =utctime.minutes;
Miao =utctime.second;
Zhou =utctime.weekda;
}
原文鏈接:https://blog.csdn.net/qq153471503/article/details/107157470
復(fù)制代碼
【北京時間=GMT時間+8小時】
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1