首页 > 编程知识 正文

utc时间和北京时间换算,utc时间格式转换

时间:2023-05-06 12:44:44 阅读:117043 作者:2045

解析原理:UTC时区差=本地时间

时区差东为正,西为负。 在此,将东八区时区差标记为0800,

UTC(0800 )=本地(北京)时间(1) ) ) ) ) ) )。

那么,UTC=当地时间(北京时间) (-0800(2) ) ) ) ) ) ) )。

0942 - 0800=0142

也就是说,UTC当天凌晨1点42分22秒。 如果是负数的话就是UTC的前一天,这个负数加上2400就是UTC的前一天的时间。 例如,本地(北京)时间为0432 )凌晨四点三十二分),UTC为0432 - 0800=-0368,负为前一天,-0368 2400=2032,即前一天下午八点三十二分。

解析代码://UTC转换为北京时间函数后,voidutctobeijing (unsignedintutcyear,unsigned char UTCmonth,unsigned char utc utc ) unsigned char UTCday )将直接调用unsigned char UTCminute,unsignedcharutcsecond (int year=0,month=0,day=0,hour=0; int lastday=0; //月最后一天的日期int lastlastday=0; //上个月最后一天的日期year=UTCyear; month=UTCmonth; day=UTCday; hour=UTChour 8; 将//UTC 8转换为北京时间if (month==1||month==3||| month==5||| month==7||| month==10|||)=0) )//判断是否是闰年的最后一天=29; //闰年2月29日,常年28日else lastlastday=28; (if ) month==8) lastlastday=31; } else if (month==4||month==6||month==9||month==11 ) { lastday=30; 最后最后一天=31; } else{ lastlastday=31; if((year@0==0)|) year%4==0year0!=0() )//闰年的2月为29日,常年为28日lastday=29; else lastday=28; (if ) {hour -=24 ) /计算时24:00以上时,减去24:00,日期加1天) {hour -=24; 日期=1; if(daylastday ) /如果计算出的日期大于该月的最后一天,则减去该月最后一天的日期,每月一个月({ day -=lastday; month =1; if(month12 ) /如果计算出的月份大于12,则减去12,每年加1年({month -=12; 年=1; }}sprintf((char* ) bjttbuf,) d/d/d,d:d:d ),year-2000,month,day,hour,gpsx.utc.min,gpsx 33558 www.acctech.com.cn/news/chanpinceshi/utc-coding.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。