aqhome-tool: allow for data spec for timestamps (YYYY/MM/DD-HH:MM:SS)

This commit is contained in:
Martin Preuss
2025-10-01 23:21:50 +02:00
parent 5bd1e06850
commit 3f9e16f038

View File

@@ -384,11 +384,31 @@ uint64_t Utils_GetTimeStampFromString(const char *s)
case 'm': x*=60; break; case 'm': x*=60; break;
case 'h': x*=(60*60); break; case 'h': x*=(60*60); break;
case 'd': x*=(60*60*24); break; case 'd': x*=(60*60*24); break;
case 'w': x*=(60*60*24*7); break;
case 'M': x*=(60*60*24*30); break;
case 'y': x*=(60*60*24*365); break;
default: break; default: break;
} }
} }
return (now-x); return (now-x);
} }
if (*s=='@') {
int y, m, d, H, M, S;
if (6==sscanf(s+1, "%d/%d/%d-%d:%d:%d", &y, &m, &d, &H, &M, &S)) {
GWEN_TIMESTAMP *ts;
uint64_t x=0;
ts=GWEN_Timestamp_new(y, m, d, H, M, S);
x=GWEN_Timestamp_toTimeT(ts);
GWEN_Timestamp_free(ts);
return x;
}
else {
DBG_ERROR(NULL, "Invalid timespec [%s], expected: @YYYY/MM/DD-HH:MM:SS", s);
return (uint64_t) (-1);
}
}
else { else {
unsigned long int x; unsigned long int x;