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++;
}
} |