diff --git a/source/client/test/timezoneTest.cpp b/source/client/test/timezoneTest.cpp index 8b95dd148b..a9b31231bc 100644 --- a/source/client/test/timezoneTest.cpp +++ b/source/client/test/timezoneTest.cpp @@ -192,7 +192,6 @@ char *tz_test[] = { "2023-09-16 17:00:00+:", "2023-09-16 17:00:00+8f:", "2023-09-16 17:00:00+080:", - "2023-09-16 17:00:00+080", "2023-09-16 17:00:00+a", "2023-09-16 17:00:00+09:", "2023-09-16 17:00:00+09:a", diff --git a/source/common/src/ttime.c b/source/common/src/ttime.c index 8ac50a2c17..47747611d9 100644 --- a/source/common/src/ttime.c +++ b/source/common/src/ttime.c @@ -163,6 +163,8 @@ int32_t parseTimezone(char* str, int64_t* tzOffset) { PARSE(&str[i], hourSize, hour); i += hourSize + 1; + size_t minSize = strlen(&str[i]); + PARSE(&str[i], minSize, minute); } else { size_t hourSize = strlen(&str[i]); if (hourSize > 2){ @@ -170,14 +172,15 @@ int32_t parseTimezone(char* str, int64_t* tzOffset) { } PARSE(&str[i], hourSize, hour) i += hourSize; + size_t minSize = strlen(&str[i]); + if (minSize > 0){ + PARSE(&str[i], minSize, minute); + } } if (hour > 13 || hour < 0) { TAOS_RETURN(TSDB_CODE_INVALID_PARA); } - - size_t minSize = strlen(&str[i]); - PARSE(&str[i], minSize, minute); if (minute > 59 || minute < 0) { TAOS_RETURN(TSDB_CODE_INVALID_PARA); }