@@ -122,7 +122,8 @@ func NewDocumentEncoder() DocumentEncoder {
122
122
return & encoder {}
123
123
}
124
124
125
- func convertTimeToInt64 (t time.Time ) int64 {
125
+ func convertTimeToInt64 (t * time.Time ) int64 {
126
+ if t == nil { return 0 }
126
127
return t .Unix ()* 1000 + int64 (t .Nanosecond ()/ 1e6 )
127
128
}
128
129
@@ -442,10 +443,10 @@ func (e *encoder) encodeSliceAsArray(rval reflect.Value, minsize bool) ([]*Value
442
443
vals = append (vals , VC .Decimal128 (t ))
443
444
continue
444
445
case time.Time :
445
- vals = append (vals , VC .DateTime (convertTimeToInt64 (t )))
446
+ vals = append (vals , VC .DateTime (convertTimeToInt64 (& t )))
446
447
continue
447
448
case * time.Time :
448
- vals = append (vals , VC .DateTime (convertTimeToInt64 (* t )))
449
+ vals = append (vals , VC .DateTime (convertTimeToInt64 (t )))
449
450
continue
450
451
}
451
452
@@ -528,10 +529,10 @@ func (e *encoder) encodeStruct(val reflect.Value) ([]*Element, error) {
528
529
elems = append (elems , EC .Decimal128 (key , t ))
529
530
continue
530
531
case time.Time :
531
- elems = append (elems , EC .DateTime (key , convertTimeToInt64 (t )))
532
+ elems = append (elems , EC .DateTime (key , convertTimeToInt64 (& t )))
532
533
continue
533
534
case * time.Time :
534
- elems = append (elems , EC .DateTime (key , convertTimeToInt64 (* t )))
535
+ elems = append (elems , EC .DateTime (key , convertTimeToInt64 (t )))
535
536
continue
536
537
}
537
538
field = e .underlyingVal (field )
0 commit comments