打印

GPS时间如何转换为北京时间,有代码分享下

[复制链接]
1697|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
heping517|  楼主 | 2015-9-9 16:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
GPS时间如何转换为北京时间,有代码分享下
沙发
huihui520| | 2015-9-9 19:52 | 只看该作者

static void UTC2BTC(nmea_utc_time *GPS)
{
        /*如果秒号先出,再出时间数据,则将时间数据+1秒*/
        GPS->sec++;
        if(GPS->sec>59)
        {
                GPS->sec=0;
                GPS->min++;
                if(GPS->min>59)
                {
                        GPS->min=0;
                        GPS->hour++;
                }
        }
        GPS->hour+=8;
        /*北京时间与世界时间相差8个时区,即相差8个小时*/
        if(GPS->hour>23)
        {
                GPS->hour=0;
                GPS->date+=1;
        }
        if(GPS->month==2)        /*判断闰年*/
        {
                if(GPS->year%100==0)
               
                {
                        if(GPS->year%400==0)
                        {
                                if(GPS->date>29)
                                {
                                        GPS->date=1;
                                        GPS->month++;
                                }
                        }
                        else
                        {
                                if(GPS->date>28)
                                {
                                        GPS->date=1;
                                        GPS->month++;
                                }
                        }
                       
                }
                else
                {
                        if(GPS->year%4==0)
                        {
                                if(GPS->date>29)
                                {
                                        GPS->date=1;
                                        GPS->month++;
                                }
                        }
                        else
                        {
                                if(GPS->date>28)
                                {
                                        GPS->date=1;
                                     GPS->month++;
                          }
                        }
                }
        }
        else if(GPS->month==4||GPS->month==6||GPS->month==9||GPS->month==11)
        {
                if(GPS->date>30)
                {
                        GPS->date=1;
                        GPS->month++;
                }
        }
        else if(GPS->month==1||GPS->month==3||GPS->month==5||GPS->month==7||GPS->month==8||GPS->month==10||GPS->month==12)
        {
                if(GPS->date>31)
                {
                        GPS->date=1;
                        GPS->month++;
                }
        }
       
        if(GPS->month>12)
        {
                GPS->month=1;
                GPS->year++;
        }
}

使用特权

评论回复
板凳
huihui520| | 2015-9-9 19:52 | 只看该作者
typedef struct
{
        vu8 hour;
        vu8 min;
        vu8 sec;                       
        //公历日月年周
        vu16 w_year;
        vu8  w_month;
        vu8  w_date;
        vu8  week;                 
}_calendar_obj;       

使用特权

评论回复
地板
peace555| | 2015-9-10 08:17 | 只看该作者
好像不太对吧,传入的结构体,和你列出的结构体不太一样

使用特权

评论回复
5
历史暴君| | 2015-9-10 12:58 | 只看该作者
好像结构体不对应,确实

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

90

主题

648

帖子

0

粉丝