fix(encoding/form): time with the location set to local time

pull/2885/head
demoManito 1 year ago
parent fcd3b18e83
commit b41023203e
  1. 2
      encoding/form/well_known_types.go
  2. 4
      encoding/form/well_known_types_test.go

@ -52,7 +52,7 @@ func marshalTimestamp(m protoreflect.Message) (string, error) {
}
// Uses RFC 3339, where generated output will be Z-normalized and uses 0, 3,
// 6 or 9 fractional digits.
t := time.Unix(secs, nanos).UTC()
t := time.Unix(secs, nanos).Local()
x := t.Format("2006-01-02T15:04:05.000000000")
x = strings.TrimSuffix(x, "000")
x = strings.TrimSuffix(x, "000")

@ -17,11 +17,11 @@ func TestMarshalTimeStamp(t *testing.T) {
expect string
}{
{
input: timestamppb.New(time.Date(2022, 1, 2, 3, 4, 5, 6, time.UTC)),
input: timestamppb.New(time.Date(2022, 1, 2, 3, 4, 5, 6, time.Local)),
expect: "2022-01-02T03:04:05.000000006Z",
},
{
input: timestamppb.New(time.Date(2022, 13, 1, 13, 61, 61, 100, time.UTC)),
input: timestamppb.New(time.Date(2022, 13, 1, 13, 61, 61, 100, time.Local)),
expect: "2023-01-01T14:02:01.000000100Z",
},
}

Loading…
Cancel
Save