突然发现格林尼治时间换算为北京时间不是简单的+8的问题

从GPS里读出了一条命令: $GPRMC,105404.739,A,2307.5573,N,11323.3638,E,2.65,348.60,040411,,,A*65 提取出来格林尼治时间是: 2011-04-04 10:54:04.739 换算成北京时间+8是18:54:04.739 很简单,没啥问题。 但是晚上又读到一条命令: $GPRMC,213201.236,A,2307.5573,N,11323.3638,E,2.65,348.60,040411,,,A*65 换算成北京时间就不是简单的+8的问题了,差点儿疏忽,不然会差很远啊。

刚刚写好了一个算法 用于计算各个时区对应的格林尼治时间,自己还没发现大的BUG,欢迎同学们拍砖!

  /******************************************************************************************************** ** 函数名称: bit IsLeapYear(uchar iYear) ** 功能描述: 判断闰年(仅针对于2000以后的年份) ** 入口参数: iYear 两位年数 ** 出口参数: bit 1:为闰年 0:为平年 ** 创 建 者: 严泽远 ** 创建时间: 2011-04-05 14:29 ** 版 本: v1.0.0 ********************************************************************************************************/ bit IsLeapYear(uchar iYear) { uint Year; Year = 2000+iYear; if((Year&3)==0) […]