mirror of https://github.com/go-redis/redis.git
Merge pull request #1273 from theo-delaune-argus/time-nanoseconds
Store time in RFC3339Nano to keep nanoseconds
This commit is contained in:
commit
0c500078e5
|
@ -671,7 +671,7 @@ func (cmd *StringCmd) Time() (time.Time, error) {
|
|||
if cmd.err != nil {
|
||||
return time.Time{}, cmd.err
|
||||
}
|
||||
return time.Parse(time.RFC3339, cmd.Val())
|
||||
return time.Parse(time.RFC3339Nano, cmd.Val())
|
||||
}
|
||||
|
||||
func (cmd *StringCmd) Scan(val interface{}) error {
|
||||
|
|
|
@ -72,14 +72,14 @@ var _ = Describe("Cmd", func() {
|
|||
})
|
||||
|
||||
It("supports time.Time", func() {
|
||||
tm := time.Date(2019, 01, 01, 0, 0, 0, 0, time.UTC)
|
||||
tm := time.Date(2019, 01, 01, 9, 45, 10, 222125, time.UTC)
|
||||
|
||||
err := client.Set("time_key", tm, 0).Err()
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
|
||||
s, err := client.Get("time_key").Result()
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
Expect(s).To(Equal("2019-01-01T00:00:00Z"))
|
||||
Expect(s).To(Equal("2019-01-01T09:45:10.000222125Z"))
|
||||
|
||||
tm2, err := client.Get("time_key").Time()
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
|
|
|
@ -55,13 +55,14 @@ var _ = Describe("WriteBuffer", func() {
|
|||
})
|
||||
|
||||
It("should append time", func() {
|
||||
err := wr.WriteArgs([]interface{}{time.Unix(1414141414, 0).UTC()})
|
||||
tm := time.Date(2019, 01, 01, 9, 45, 10, 222125, time.UTC)
|
||||
err := wr.WriteArgs([]interface{}{tm})
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
|
||||
err = wr.Flush()
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
|
||||
Expect(buf.Len()).To(Equal(31))
|
||||
Expect(buf.Len()).To(Equal(41))
|
||||
})
|
||||
|
||||
It("should append marshalable args", func() {
|
||||
|
|
|
@ -93,7 +93,7 @@ func (w *Writer) writeArg(v interface{}) error {
|
|||
}
|
||||
return w.int(0)
|
||||
case time.Time:
|
||||
return w.string(v.Format(time.RFC3339))
|
||||
return w.string(v.Format(time.RFC3339Nano))
|
||||
case encoding.BinaryMarshaler:
|
||||
b, err := v.MarshalBinary()
|
||||
if err != nil {
|
||||
|
|
Loading…
Reference in New Issue