@@ -424,13 +424,13 @@ fn datetime_watershed() {
424424 let dt = DateTime :: from_timestamp ( 20_000_000_000 , 0 ) . unwrap ( ) ;
425425 assert_eq ! ( dt. to_string( ) , "2603-10-11T11:33:20" ) ;
426426 let dt = DateTime :: from_timestamp ( 20_000_000_001 , 0 ) . unwrap ( ) ;
427- assert_eq ! ( dt. to_string( ) , "1970-08-20T11:33:20.001 " ) ;
427+ assert_eq ! ( dt. to_string( ) , "1970-08-20T11:33:20.001000 " ) ;
428428 match DateTime :: from_timestamp ( -20_000_000_000 , 0 ) {
429429 Ok ( dt) => panic ! ( "unexpectedly valid, {dt}" ) ,
430430 Err ( e) => assert_eq ! ( e, ParseError :: DateTooSmall ) ,
431431 }
432432 let dt = DateTime :: from_timestamp ( -20_000_000_001 , 0 ) . unwrap ( ) ;
433- assert_eq ! ( dt. to_string( ) , "1969-05-14T12:26:39.999 " ) ;
433+ assert_eq ! ( dt. to_string( ) , "1969-05-14T12:26:39.999000 " ) ;
434434}
435435
436436#[ test]
@@ -456,10 +456,10 @@ fn datetime_with_tz_offset() {
456456 let dt_z = DateTime :: parse_str ( "2022-01-01T12:13:14.567+00:00" ) . unwrap ( ) ;
457457
458458 let dt_m8 = dt_z. with_timezone_offset ( Some ( -8 * 3600 ) ) . unwrap ( ) ;
459- assert_eq ! ( dt_m8. to_string( ) , "2022-01-01T12:13:14.567 -08:00" ) ;
459+ assert_eq ! ( dt_m8. to_string( ) , "2022-01-01T12:13:14.567000 -08:00" ) ;
460460
461461 let dt_naive = dt_z. with_timezone_offset ( None ) . unwrap ( ) ;
462- assert_eq ! ( dt_naive. to_string( ) , "2022-01-01T12:13:14.567 " ) ;
462+ assert_eq ! ( dt_naive. to_string( ) , "2022-01-01T12:13:14.567000 " ) ;
463463
464464 let dt_naive = DateTime :: parse_str ( "2000-01-01T00:00:00" ) . unwrap ( ) ;
465465
@@ -475,13 +475,13 @@ fn datetime_with_tz_offset() {
475475
476476#[ test]
477477fn datetime_in_timezone ( ) {
478- let dt_z = DateTime :: parse_str ( "2000-01-01T15:00:00.567Z " ) . unwrap ( ) ;
478+ let dt_z = DateTime :: parse_str ( "2000-01-01T15:00:00.567000Z " ) . unwrap ( ) ;
479479
480480 let dt_p1 = dt_z. in_timezone ( 3_600 ) . unwrap ( ) ;
481- assert_eq ! ( dt_p1. to_string( ) , "2000-01-01T16:00:00.567 +01:00" ) ;
481+ assert_eq ! ( dt_p1. to_string( ) , "2000-01-01T16:00:00.567000 +01:00" ) ;
482482
483483 let dt_m2 = dt_z. in_timezone ( -7_200 ) . unwrap ( ) ;
484- assert_eq ! ( dt_m2. to_string( ) , "2000-01-01T13:00:00.567 -02:00" ) ;
484+ assert_eq ! ( dt_m2. to_string( ) , "2000-01-01T13:00:00.567000 -02:00" ) ;
485485
486486 let dt_naive = DateTime :: parse_str ( "2000-01-01T00:00:00" ) . unwrap ( ) ;
487487 let error = match dt_naive. in_timezone ( 3_600 ) {
@@ -573,10 +573,10 @@ fn time_with_tz_offset() {
573573 let t_z = Time :: parse_str ( "12:13:14.567+00:00" ) . unwrap ( ) ;
574574
575575 let t_m8 = t_z. with_timezone_offset ( Some ( -8 * 3600 ) ) . unwrap ( ) ;
576- assert_eq ! ( t_m8. to_string( ) , "12:13:14.567 -08:00" ) ;
576+ assert_eq ! ( t_m8. to_string( ) , "12:13:14.567000 -08:00" ) ;
577577
578578 let t_naive = t_z. with_timezone_offset ( None ) . unwrap ( ) ;
579- assert_eq ! ( t_naive. to_string( ) , "12:13:14.567 " ) ;
579+ assert_eq ! ( t_naive. to_string( ) , "12:13:14.567000 " ) ;
580580
581581 let t_naive = Time :: parse_str ( "00:00:00" ) . unwrap ( ) ;
582582
@@ -595,10 +595,10 @@ fn time_in_timezone() {
595595 let t_z = Time :: parse_str ( "15:00:00.567Z" ) . unwrap ( ) ;
596596
597597 let t_p1 = t_z. in_timezone ( 3_600 ) . unwrap ( ) ;
598- assert_eq ! ( t_p1. to_string( ) , "16:00:00.567 +01:00" ) ;
598+ assert_eq ! ( t_p1. to_string( ) , "16:00:00.567000 +01:00" ) ;
599599
600600 let t_m2 = t_z. in_timezone ( -7_200 ) . unwrap ( ) ;
601- assert_eq ! ( t_m2. to_string( ) , "13:00:00.567 -02:00" ) ;
601+ assert_eq ! ( t_m2. to_string( ) , "13:00:00.567000 -02:00" ) ;
602602
603603 let t_naive = Time :: parse_str ( "10:00:00" ) . unwrap ( ) ;
604604 let error = match t_naive. in_timezone ( 3_600 ) {
@@ -619,7 +619,7 @@ param_tests! {
619619 time_min: ok => "00:00:00.000000" , "00:00:00" ;
620620 time_max: ok => "23:59:59.999999" , "23:59:59.999999" ;
621621 time_no_fraction: ok => "12:13:14" , "12:13:14" ;
622- time_fraction_small: ok => "12:13:14.123" , "12:13:14.123 " ;
622+ time_fraction_small: ok => "12:13:14.123" , "12:13:14.123000 " ;
623623 time_no_sec: ok => "12:13" , "12:13:00" ;
624624 time_tz: ok => "12:13:14z" , "12:13:14Z" ;
625625 time: err => "xxx" , TooShort ;
@@ -813,12 +813,12 @@ param_tests! {
813813 dt_tz_negative: ok => "2020-01-01T12:13:14-02:15" , "2020-01-01T12:13:14-02:15" ;
814814 dt_tz_negative_10: ok => "2020-01-01T12:13:14-11:30" , "2020-01-01T12:13:14-11:30" ;
815815 dt_tz_no_colon: ok => "2020-01-01T12:13:14+1234" , "2020-01-01T12:13:14+12:34" ;
816- dt_seconds_fraction_break: ok => "2020-01-01 12:13:14.123z" , "2020-01-01T12:13:14.123Z " ;
817- dt_seconds_fraction_comma: ok => "2020-01-01 12:13:14,123z" , "2020-01-01T12:13:14.123Z " ;
818- dt_underscore: ok => "2020-01-01_12:13:14,123z" , "2020-01-01T12:13:14.123Z " ;
816+ dt_seconds_fraction_break: ok => "2020-01-01 12:13:14.123z" , "2020-01-01T12:13:14.123000Z " ;
817+ dt_seconds_fraction_comma: ok => "2020-01-01 12:13:14,123z" , "2020-01-01T12:13:14.123000Z " ;
818+ dt_underscore: ok => "2020-01-01_12:13:14,123z" , "2020-01-01T12:13:14.123000Z " ;
819819 dt_unix1: ok => "1654646400" , "2022-06-08T00:00:00" ;
820820 dt_unix2: ok => "1654646404" , "2022-06-08T00:00:04" ;
821- dt_unix_float: ok => "1654646404.5" , "2022-06-08T00:00:04.5 " ;
821+ dt_unix_float: ok => "1654646404.5" , "2022-06-08T00:00:04.500000 " ;
822822 dt_short_date: err => "xxx" , TooShort ;
823823 dt_short_time: err => "2020-01-01T12:0" , TooShort ;
824824 dt: err => "202x-01-01" , InvalidCharYear ;
0 commit comments