@@ -11,7 +11,19 @@ fn test_datetime_from_timestamp_millis() {
11
11
( 1662921288123 , "2022-09-11 18:34:48.123000000" ) ,
12
12
( 1662921287890 , "2022-09-11 18:34:47.890000000" ) ,
13
13
( -2208936075000 , "1900-01-01 14:38:45.000000000" ) ,
14
+ ( -1 , "1969-12-31 23:59:59.999000000" ) ,
14
15
( 0 , "1970-01-01 00:00:00.000000000" ) ,
16
+ ( 1 , "1970-01-01 00:00:00.001000000" ) ,
17
+ ( 998 , "1970-01-01 00:00:00.998000000" ) ,
18
+ ( 999 , "1970-01-01 00:00:00.999000000" ) ,
19
+ ( 1000 , "1970-01-01 00:00:01.000000000" ) ,
20
+ ( 1001 , "1970-01-01 00:00:01.001000000" ) ,
21
+ ( 1002 , "1970-01-01 00:00:01.002000000" ) ,
22
+ ( 999_998 , "1970-01-01 00:16:39.998000000" ) ,
23
+ ( 999_999 , "1970-01-01 00:16:39.999000000" ) ,
24
+ ( 1_000_000 , "1970-01-01 00:16:40.000000000" ) ,
25
+ ( 1_000_001 , "1970-01-01 00:16:40.001000000" ) ,
26
+ ( 1_000_002 , "1970-01-01 00:16:40.002000000" ) ,
15
27
( 119731017000 , "1973-10-17 18:36:57.000000000" ) ,
16
28
( 1234567890000 , "2009-02-13 23:31:30.000000000" ) ,
17
29
( 2034061609000 , "2034-06-16 09:06:49.000000000" ) ,
@@ -48,7 +60,19 @@ fn test_datetime_from_timestamp_micros() {
48
60
( 1662921288123456 , "2022-09-11 18:34:48.123456000" ) ,
49
61
( 1662921287890000 , "2022-09-11 18:34:47.890000000" ) ,
50
62
( -2208936075000000 , "1900-01-01 14:38:45.000000000" ) ,
63
+ ( -1 , "1969-12-31 23:59:59.999999000" ) ,
51
64
( 0 , "1970-01-01 00:00:00.000000000" ) ,
65
+ ( 1 , "1970-01-01 00:00:00.000001000" ) ,
66
+ ( 998 , "1970-01-01 00:00:00.000998000" ) ,
67
+ ( 999 , "1970-01-01 00:00:00.000999000" ) ,
68
+ ( 1000 , "1970-01-01 00:00:00.001000000" ) ,
69
+ ( 1001 , "1970-01-01 00:00:00.001001000" ) ,
70
+ ( 1002 , "1970-01-01 00:00:00.001002000" ) ,
71
+ ( 999_998 , "1970-01-01 00:00:00.999998000" ) ,
72
+ ( 999_999 , "1970-01-01 00:00:00.999999000" ) ,
73
+ ( 1_000_000 , "1970-01-01 00:00:01.000000000" ) ,
74
+ ( 1_000_001 , "1970-01-01 00:00:01.000001000" ) ,
75
+ ( 1_000_002 , "1970-01-01 00:00:01.000002000" ) ,
52
76
( 119731017000000 , "1973-10-17 18:36:57.000000000" ) ,
53
77
( 1234567890000000 , "2009-02-13 23:31:30.000000000" ) ,
54
78
( 2034061609000000 , "2034-06-16 09:06:49.000000000" ) ,
@@ -77,6 +101,18 @@ fn test_datetime_from_timestamp_micros() {
77
101
) ;
78
102
}
79
103
}
104
+ #[ test]
105
+ fn test_datetime_from_timestamp_issue934 ( ) {
106
+ let min_utc = crate :: DateTime :: < Utc > :: MIN_UTC ;
107
+ assert_eq ! (
108
+ NaiveDateTime :: from_timestamp_millis( min_utc. timestamp_millis( ) ) . unwrap( ) ,
109
+ min_utc. naive_utc( )
110
+ ) ;
111
+ assert_eq ! (
112
+ NaiveDateTime :: from_timestamp_micros( min_utc. timestamp_micros( ) ) . unwrap( ) ,
113
+ min_utc. naive_utc( )
114
+ ) ;
115
+ }
80
116
81
117
#[ test]
82
118
fn test_datetime_from_timestamp ( ) {
0 commit comments