@@ -78,6 +78,7 @@ mod format {
78
78
pub const YYYYMMDDHHMM_ZULU_OFFSET : & str = "%Y%m%d%H%MZ%z" ;
79
79
pub const YYYYMMDDHHMM_HYPHENATED_OFFSET : & str = "%Y-%m-%d %H:%M %z" ;
80
80
pub const YYYYMMDDHHMMSS_HYPHENATED_OFFSET : & str = "%Y-%m-%d %H:%M:%S %#z" ;
81
+ pub const YYYYMMDDHHMMSS_T_SEP_HYPHENATED_OFFSET : & str = "%Y-%m-%dT%H:%M:%S%#z" ;
81
82
pub const YYYYMMDDHHMMS_T_SEP : & str = "%Y-%m-%dT%H:%M:%S" ;
82
83
pub const UTC_OFFSET : & str = "UTC%#z" ;
83
84
pub const ZULU_OFFSET : & str = "Z%#z" ;
@@ -165,6 +166,7 @@ pub fn parse_datetime_at_date<S: AsRef<str> + Clone>(
165
166
format:: YYYYMMDDHHMM_OFFSET ,
166
167
format:: YYYYMMDDHHMM_HYPHENATED_OFFSET ,
167
168
format:: YYYYMMDDHHMMSS_HYPHENATED_OFFSET ,
169
+ format:: YYYYMMDDHHMMSS_T_SEP_HYPHENATED_OFFSET ,
168
170
format:: YYYYMMDDHHMM_UTC_OFFSET ,
169
171
format:: YYYYMMDDHHMM_ZULU_OFFSET ,
170
172
] {
@@ -321,6 +323,14 @@ mod tests {
321
323
assert_eq ! ( actual. unwrap( ) . timestamp( ) , TEST_TIME ) ;
322
324
}
323
325
326
+ #[ test]
327
+ fn test_t_sep_single_digit_offset_no_space ( ) {
328
+ env:: set_var ( "TZ" , "UTC" ) ;
329
+ let dt = "2021-02-14T22:37:47-8" ;
330
+ let actual = parse_datetime ( dt) ;
331
+ assert_eq ! ( actual. unwrap( ) . timestamp( ) , TEST_TIME ) ;
332
+ }
333
+
324
334
#[ test]
325
335
fn invalid_formats ( ) {
326
336
let invalid_dts = vec ! [ "NotADate" , "202104" , "202104-12T22:37:47" ] ;
0 commit comments