systime

Change-Id: Ibb0edbb28a8c5d7281b0f247124af1b984c3ac8e
diff --git a/mbtk/mbtk_gnssd/gnss_utils.c b/mbtk/mbtk_gnssd/gnss_utils.c
index b62aa85..d114b4b 100755
--- a/mbtk/mbtk_gnssd/gnss_utils.c
+++ b/mbtk/mbtk_gnssd/gnss_utils.c
@@ -532,18 +532,33 @@
 #endif
                 if( (mbtk_time_type_gnss_read() == LYNQ_TIME_TYPE_GNSS) && !mbtk_gnss_time_set_flag)
                 {
+#if 0
                     struct timeval tv;
                     tzset();   // auto set tz
-                    _t = _t - timezone;
-
+                //    _t = _t - timezone;
                     LOGD("timestamp:%ld,  %ld", _t,  timezone);
-
                     tv.tv_sec = _t;
+
+#else
+                    LOGD("_t: %ld\n", _t);
+                  struct tm CurlocalTime;
+                  localtime_r(&_t, &CurlocalTime);
+                  CurlocalTime.tm_hour += 8;    //cst+8 set for UTC
+                  char dateTime[30];
+                  strftime(dateTime, 30, "%Y-%m-%d %H:%M:%S %A", &CurlocalTime);
+                  LOGD("dateTime:%s, %ld\n", dateTime, _t);
+
+                  struct timeval tv;
+                  tv.tv_sec = _t;
+                  tv.tv_sec += 28800;  //cst 
+                  tv.tv_usec = 0;
+
+#endif
                     if(settimeofday(&tv, NULL)) {
-                        LOGD("%s: , Set time fail\n", __func__);
+                        LOGD("%s: 1111, Set time fail\n", __func__);
                         mbtk_gnss_time_set_flag = 0;
                     } else {
-                        LOGD("%s: , Set time success \n", __func__);
+                        LOGD("%s: 1111, Set time success \n", __func__);
                         system("hwclock -w rtc0");
                         mbtk_gnss_time_set_flag = 1;
                     }
@@ -554,4 +569,4 @@
 
     return 0;
 }
-#endif
\ No newline at end of file
+#endif