修复系统时间多时区计算的问题
authorCaisking <Casiking@zhihuishixun.com>
Fri, 21 Nov 2025 07:29:07 +0000 (15:29 +0800)
committerCaisking <Casiking@zhihuishixun.com>
Fri, 21 Nov 2025 07:29:07 +0000 (15:29 +0800)
code/sdk/middleware/chips/brandy/exception/chip_system_time.c
code/sdk/zhihui/utils/custom_utils.c

index 0b8100c..e3ce9be 100644 (file)
@@ -126,10 +126,7 @@ uint32_t sync_time_utc(uint32_t timestamp, uint32_t timezone_quarters)
     uapi_set_timezone(timezone_quarters);
     struct timeval tv = {0};
     struct timezone tzone = {0};
-    // 修复:将UTC时间戳转换为本地时间戳
-    // settimeofday的tv.tv_sec应该是本地时间(UTC时间 + 时区偏移)
-    // 参考 cat1_porting.c 和 ppp_api.c 的实现
-    tv.tv_sec = seconds + timezone_quarters * MINUTES_PER_QUARTER * SECONDS_PER_MINUTE;
+    tv.tv_sec = seconds;
     tv.tv_usec = 0;
     tzone.tz_dsttime = 0;
     tzone.tz_minuteswest = timezone_quarters * MINUTES_PER_QUARTER;
index 1435c69..abbac0e 100644 (file)
@@ -935,6 +935,8 @@ errcode_t uaip_sntp_set_time_utc(uint32_t seconds)
 
 
     int zone_quarters = uapi_get_timezone();
+
+    printf(" zone_quarters : %d\n",zone_quarters);
    
     errcode_t ret = sync_time_utc(seconds,zone_quarters);