File tree Expand file tree Collapse file tree 1 file changed +8
-8
lines changed Expand file tree Collapse file tree 1 file changed +8
-8
lines changed Original file line number Diff line number Diff line change @@ -73,18 +73,18 @@ impl ConvertJiffTypes for DateTime {
73
73
type Error = jiff:: Error ;
74
74
75
75
fn from_timestamp ( timestamp : Timestamp ) -> Self {
76
- DateTime :: from_secs_and_nanos (
77
- timestamp. as_second ( ) ,
78
- timestamp. subsec_nanosecond ( ) as u32 ,
79
- )
76
+ let nanos = if timestamp. subsec_nanosecond ( ) < 0 {
77
+ ( 1_000_000_000 + timestamp. subsec_nanosecond ( ) ) as u32
78
+ } else {
79
+ timestamp. subsec_nanosecond ( ) as u32
80
+ } ;
81
+
82
+ DateTime :: from_secs_and_nanos ( timestamp. as_second ( ) , nanos)
80
83
}
81
84
82
85
fn from_zoned ( zoned : Zoned ) -> Self {
83
86
let timestamp = zoned. timestamp ( ) ;
84
- DateTime :: from_secs_and_nanos (
85
- timestamp. as_second ( ) ,
86
- timestamp. subsec_nanosecond ( ) as u32 ,
87
- )
87
+ Self :: from_timestamp ( timestamp)
88
88
}
89
89
90
90
fn try_into_zoned ( self ) -> Result < Zoned , Self :: Error > {
You can’t perform that action at this time.
0 commit comments