Merge pull request #5178 from taosdata/hotfix/TD-1976-2
[TD-2518]fix time show issue in taos
This commit is contained in:
commit
04315058c2
|
@ -387,10 +387,13 @@ static char* formatTimestamp(char* buf, int64_t val, int precision) {
|
||||||
}
|
}
|
||||||
|
|
||||||
time_t tt;
|
time_t tt;
|
||||||
|
int32_t ms = 0;
|
||||||
if (precision == TSDB_TIME_PRECISION_MICRO) {
|
if (precision == TSDB_TIME_PRECISION_MICRO) {
|
||||||
tt = (time_t)(val / 1000000);
|
tt = (time_t)(val / 1000000);
|
||||||
|
ms = val % 1000000;
|
||||||
} else {
|
} else {
|
||||||
tt = (time_t)(val / 1000);
|
tt = (time_t)(val / 1000);
|
||||||
|
ms = val % 1000;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* comment out as it make testcases like select_with_tags.sim fail.
|
/* comment out as it make testcases like select_with_tags.sim fail.
|
||||||
|
@ -404,14 +407,22 @@ static char* formatTimestamp(char* buf, int64_t val, int precision) {
|
||||||
#ifdef WINDOWS
|
#ifdef WINDOWS
|
||||||
if (tt < 0) tt = 0;
|
if (tt < 0) tt = 0;
|
||||||
#endif
|
#endif
|
||||||
|
if (tt < 0 && ms != 0) {
|
||||||
|
tt--;
|
||||||
|
if (precision == TSDB_TIME_PRECISION_MICRO) {
|
||||||
|
ms += 1000000;
|
||||||
|
} else {
|
||||||
|
ms += 1000;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
struct tm* ptm = localtime(&tt);
|
struct tm* ptm = localtime(&tt);
|
||||||
size_t pos = strftime(buf, 32, "%Y-%m-%d %H:%M:%S", ptm);
|
size_t pos = strftime(buf, 32, "%Y-%m-%d %H:%M:%S", ptm);
|
||||||
|
|
||||||
if (precision == TSDB_TIME_PRECISION_MICRO) {
|
if (precision == TSDB_TIME_PRECISION_MICRO) {
|
||||||
sprintf(buf + pos, ".%06d", (int)(val % 1000000));
|
sprintf(buf + pos, ".%06d", ms);
|
||||||
} else {
|
} else {
|
||||||
sprintf(buf + pos, ".%03d", (int)(val % 1000));
|
sprintf(buf + pos, ".%03d", ms);
|
||||||
}
|
}
|
||||||
|
|
||||||
return buf;
|
return buf;
|
||||||
|
|
Loading…
Reference in New Issue