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 {
|
if cmd.err != nil {
|
||||||
return time.Time{}, cmd.err
|
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 {
|
func (cmd *StringCmd) Scan(val interface{}) error {
|
||||||
|
|
|
@ -72,14 +72,14 @@ var _ = Describe("Cmd", func() {
|
||||||
})
|
})
|
||||||
|
|
||||||
It("supports time.Time", 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()
|
err := client.Set("time_key", tm, 0).Err()
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
|
||||||
s, err := client.Get("time_key").Result()
|
s, err := client.Get("time_key").Result()
|
||||||
Expect(err).NotTo(HaveOccurred())
|
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()
|
tm2, err := client.Get("time_key").Time()
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
|
|
@ -55,13 +55,14 @@ var _ = Describe("WriteBuffer", func() {
|
||||||
})
|
})
|
||||||
|
|
||||||
It("should append time", 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())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
|
||||||
err = wr.Flush()
|
err = wr.Flush()
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
|
||||||
Expect(buf.Len()).To(Equal(31))
|
Expect(buf.Len()).To(Equal(41))
|
||||||
})
|
})
|
||||||
|
|
||||||
It("should append marshalable args", func() {
|
It("should append marshalable args", func() {
|
||||||
|
|
|
@ -93,7 +93,7 @@ func (w *Writer) writeArg(v interface{}) error {
|
||||||
}
|
}
|
||||||
return w.int(0)
|
return w.int(0)
|
||||||
case time.Time:
|
case time.Time:
|
||||||
return w.string(v.Format(time.RFC3339))
|
return w.string(v.Format(time.RFC3339Nano))
|
||||||
case encoding.BinaryMarshaler:
|
case encoding.BinaryMarshaler:
|
||||||
b, err := v.MarshalBinary()
|
b, err := v.MarshalBinary()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
Loading…
Reference in New Issue