Browse Source

更改分站时间同步逻辑

zzj 5 years ago
parent
commit
38dede3d76
3 changed files with 7 additions and 7 deletions
  1. 1 1
      ant.cpp
  2. 2 2
      net-service.cpp
  3. 4 4
      znet.cpp

+ 1 - 1
ant.cpp

@@ -46,7 +46,7 @@ bool site::check_timestamp(const char*tm_buf)
 	buf[5]=tm_buf[0];
 
 	t.tm_year=buf[0]+100;
-	t.tm_mon=buf[1];
+	t.tm_mon=buf[1]-1;
 	t.tm_mday=buf[2];
 	t.tm_hour=buf[3];
 	t.tm_min=buf[4];

+ 2 - 2
net-service.cpp

@@ -81,7 +81,7 @@ void net_service::on_message(const std::shared_ptr<client> &clt,const char*data,
 					{
 						char timebuf[64]{0};
 						unsigned char*t=(unsigned char*)data+10;
-						sprintf(timebuf,"%d-%02d-%02d %02d:%02d:%02d",t[6]+2000,t[5]+1,t[3],t[2],t[1],t[0]);
+						sprintf(timebuf,"%d-%02d-%02d %02d:%02d:%02d",t[6]+2000,t[5],t[3],t[2],t[1],t[0]);
 						logn_info(1,"分站数据信息:%s net=%s,sid=%d,tm=%s,sct=%d",(power&1)==0?"true":"false",clt->name().c_str(),site_id,timebuf,t[-2]*256+t[-1]);
 					}
 
@@ -89,7 +89,7 @@ void net_service::on_message(const std::shared_ptr<client> &clt,const char*data,
 					{
 						char timebuf[64]{0};
 						unsigned char*t=(unsigned char*)&site_ptr->m_timestamp[0];
-						sprintf(timebuf,"%d-%02d-%02d %02d:%02d:%02d",t[0]+2000,t[1]+1,t[2],t[3],t[4],t[5]);
+						sprintf(timebuf,"%d-%02d-%02d %02d:%02d:%02d",t[0]+2000,t[1],t[2],t[3],t[4],t[5]);
 						logn_error(1,"分站数据时间戳错误:%s,pre-time=%s",clt->name().c_str(),timebuf);
 					}
 

+ 4 - 4
znet.cpp

@@ -305,15 +305,15 @@ struct sock_client:fd_io,client_ex
 		const struct tm*t=localtime_r(&tv.tv_sec,&buff);
 
 		int p=4;
-		buf[p++]=(tv.tv_usec/1000)>>8;
-		buf[p++]=(tv.tv_usec/1000)&0xff;
+		buf[p++]=(tv.tv_usec/1000)&0xFF;
+		buf[p++]=((tv.tv_usec/1000)>>8)&0xff;
 
 		buf[p++]=t->tm_sec;
 		buf[p++]=t->tm_min;
 		buf[p++]=t->tm_hour;
 		buf[p++]=t->tm_mday;
 		buf[p++]=t->tm_wday;
-		buf[p++]=t->tm_mon;
+		buf[p++]=t->tm_mon+1;
 		buf[p++]=t->tm_year-100;
 
 		uint16_t ccrc=do_crc(buf+2,10);
@@ -324,7 +324,7 @@ struct sock_client:fd_io,client_ex
 		std::vector<char> tmp((char*)buf,(char*)buf+15);
 		send(std::move(tmp));
 
-		log_info("分站同步:ip=%s,time=%d-%02d-%02d %02d:%02d:%02d",m_name.c_str(),buf[12]+2000,buf[11]+1,buf[9],buf[8],buf[7],buf[6]);
+		log_info("分站同步:ip=%s,time=%d-%02d-%02d %02d:%02d:%02d.%03d",m_name.c_str(),buf[12]+2000,buf[11],buf[9],buf[8],buf[7],buf[6],buf[5]*256+buf[4]);
 	}
 
 	void on_send_timeout()