fix: normalize timezone history filters

This commit is contained in:
lingniu
2026-07-02 01:24:51 +08:00
parent a7b24f4c0b
commit 78b805e3a2
2 changed files with 14 additions and 0 deletions

View File

@@ -810,6 +810,9 @@ func normalizeDateTimeLiteral(value string) string {
if len(value) == len("2006-01-02T15:04:05") && value[10] == 'T' { if len(value) == len("2006-01-02T15:04:05") && value[10] == 'T' {
return value[:10] + " " + value[11:] return value[:10] + " " + value[11:]
} }
if parsed, err := time.Parse(time.RFC3339, value); err == nil {
return parsed.In(time.FixedZone("Asia/Shanghai", 8*3600)).Format("2006-01-02 15:04:05")
}
return value return value
} }

View File

@@ -268,6 +268,17 @@ func TestParseRawFrameQueryAcceptsDatetimeLocalValues(t *testing.T) {
} }
} }
func TestNormalizeDateTimeLiteralConvertsRFC3339ToShanghaiTime(t *testing.T) {
for raw, want := range map[string]string{
"2026-07-01T00:00:00+08:00": "2026-07-01 00:00:00",
"2026-06-30T16:00:00Z": "2026-07-01 00:00:00",
} {
if got := normalizeDateTimeLiteral(raw); got != want {
t.Fatalf("normalizeDateTimeLiteral(%q) = %q, want %q", raw, got, want)
}
}
}
func TestParseMessageIDSupportsDecimalAndHex(t *testing.T) { func TestParseMessageIDSupportsDecimalAndHex(t *testing.T) {
for raw, want := range map[string]int64{ for raw, want := range map[string]int64{
"512": 512, "512": 512,