如何计算UTC与本地时间(北京时间)的时区差:详细指南

UTC + 时区差 = 本地时间

如何计算UTC与本地时间(北京时间)的时区差:详细指南

时区差中,东边的为正,西边的为负。在此情况下,将东八区的时区差记为 +0800。

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

那么,UTC 等于本地时间(北京时间)减去 0800 。

0942 - 0800 = 0142

UTC 是当天凌晨一点四十二分二十二秒。若结果为负数,那就表示是 UTC 前一天。将这个负数加上 2400 ,就得到 UTC 在前一天的时间。如果本地(北京)时间是 0432(凌晨四点三十二分),那么,UTC 为 0432 减去 0800 等于-0368,负号表示是前一天,-0368 加上 2400 等于 2032,也就是前一天的晚上八点三十二分。

//UTC转换为北京时间  函数可直接调用
定义一个名为 UTCToBeijing 的函数,该函数接收六个参数,分别是无符号整数 UTCyear 表示 UTC 时间的年份,无符号字符型 UTCmonth 表示 UTC 时间的月份,无符号字符型 UTCday 表示 UTC 时间的日期,无符号整数 UTChour 表示 UTC 时间的小时,无符号字符型 UTCminute 表示 UTC 时间的分钟,无符号字符型 UTCsecond 表示 UTC 时间的秒。
{
定义了三个整数变量 year、month、day 和一个整数变量 hour,它们的值都初始化为 0。
    int lastday = 0;// 月的最后一天日期
int 表示整数类型,lastlastday 被初始化为 0,它代表的是上月的最后一天的日期。
	
	  year=UTCyear;
		month=UTCmonth;
	  day=UTCday;
	  hour=UTChour+8;//UTC+8转换为北京时间
	
如果 month 等于 1 ,或者 month 等于 3 ,或者 month 等于 5 ,或者 month 等于 7 ,或者 month 等于 8 ,或者 month 等于 10 ,或者 month 等于 12 。
		{
        lastday = 31;
        if(month == 3)
				{
如果 year 能被 400 整除,或者 year 能被 4 整除且 year0 不等于 0,那么就是闰年,用于判断是否为闰年
lastday 等于 29;闰年的 2 月是 29 天,平年的 2 月是 28 天。
            else
                lastlastday = 28;
        }
        if(month == 8)
            lastlastday = 31;
    }
    else 
如果 month 等于 4 ,或者 month 等于 6 ,或者 month 等于 9 ,或者 month 等于 11
		{
        lastday = 30;
        lastlastday = 31;
    }
    else
		{
        lastlastday = 31;
如果(年份能被 400 整除)或者(年份能被 4 整除且年份不为 0),那么这一年如果是闰年,2 月就有 29 天;如果是平年,2 月就有 28 天。
            lastday = 29;
        else
            lastday = 28;
    }
如果小时数大于或等于 24 :00 ,那么应该减去 24 :00 ,并且日期要加一天
		{
				hour -= 24;
				day += 1; 
如果算出的日期大于该月最后一天,那么就应减去该月最后一天的日期,并且月份要加上一个月。
				{ 
						day -= lastday;
						month += 1;
如果月份大于 12,那么应减去 12,同时年份加上 1 年。
						{
								month -= 12;
								year += 1;
						}
				}
		}
		
使用 sprintf 函数,将数据按照特定格式写入到 (char *)bjttbuf 中,格式为 "d/d/d,d:d:d" 。
在 year-2000 年的某个月、某天、某小时,将 gpsx.utc.min(UTC 分钟)和 gpsx.utc.sec(UTC 秒)转换为北京时间
//		Uart1_SendStr(bjttbuf);	
//		Uart1_SendStr("\r\n");
}

你可能想看:
« 上一篇
下一篇 »

相关推荐

FreeBasic:强大免费开源的64位basic编译器及应用优势

2025年05月10日

82阅读

脊柱侧弯矫正方法大盘点:运动康复、支具矫正等多种方式

2025年05月09日

87阅读

如何在winForm标题栏去掉标题文字且任务栏图标正常显示

2025年05月09日

86阅读

十一黄金周促销广告词大全,国庆购物狂欢等你来

2025年05月09日

78阅读

关闭快速编辑模式及插入模式,设置控制台指定文字颜色举例

2025年05月09日

63阅读

黄金搭档低糖高钙饮品包装及成分功效全解析,适合人群要知晓

2025年05月09日

91阅读