44
44
-define ( is_month (X ), ( (is_integer (X ) andalso X =< 12 ) orelse ? is_hinted_month (X ) ) ).
45
45
-define ( is_tz_offset (H1 ,H2 ,M1 ,M2 ), (? is_num (H1 ) andalso ? is_num (H2 ) andalso ? is_num (M1 ) andalso ? is_num (M2 )) ).
46
46
47
- -define (GREGORIAN_SECONDS_1970 , 62167219200 ).
47
+ -define (GREGORIAN_SECONDS_1970 , 62_167_219_200 ).
48
48
-define (ISO_8601_DATETIME_FORMAT , " Y-m-dTH:i:sZ" ).
49
49
-define (ISO_8601_DATETIME_WITH_MS_FORMAT , " Y-m-dTH:i:s.fZ" ).
50
50
54
54
-type hour () :: 0 ..23 .
55
55
-type minute () :: 0 ..59 .
56
56
-type second () :: 0 ..59 .
57
- -type microsecond () :: 0 ..999999 .
57
+ -type microsecond () :: 0 ..999_999 .
58
58
59
59
-type daynum () :: 1 ..7 .
60
60
-type date () :: {year (),month (),day ()}.
@@ -138,11 +138,11 @@ nparse(Date) ->
138
138
{DateS , {H , M , S , Ms } } ->
139
139
GSeconds = calendar :datetime_to_gregorian_seconds ({DateS , {H , M , S } }),
140
140
ESeconds = GSeconds - ? GREGORIAN_SECONDS_1970 ,
141
- {ESeconds div 1000000 , ESeconds rem 1000000 , Ms };
141
+ {ESeconds div 1_000_000 , ESeconds rem 1_000_000 , Ms };
142
142
DateTime ->
143
143
GSeconds = calendar :datetime_to_gregorian_seconds (DateTime ),
144
144
ESeconds = GSeconds - ? GREGORIAN_SECONDS_1970 ,
145
- {ESeconds div 1000000 , ESeconds rem 1000000 , 0 }
145
+ {ESeconds div 1_000_000 , ESeconds rem 1_000_000 , 0 }
146
146
end .
147
147
148
148
% %
@@ -151,7 +151,7 @@ nparse(Date) ->
151
151
152
152
parse ([Year , X , Month , X , Day , Hour , $: , Min , $: , Sec , $. , Micros , $Z ], _Now , _Opts )
153
153
when ? is_world_sep (X )
154
- andalso (Micros >= 0 andalso Micros < 1000000 )
154
+ andalso (Micros >= 0 andalso Micros < 1_000_000 )
155
155
andalso Year > 31 ->
156
156
{{Year , Month , Day }, {hour (Hour , []), Min , Sec }, {Micros }};
157
157
@@ -162,7 +162,7 @@ parse([Year, X, Month, X, Day, Hour, $:, Min, $:, Sec, $Z ], _Now, _Opts)
162
162
163
163
parse ([Year , X , Month , X , Day , Hour , $: , Min , $: , Sec , $. , Micros , $+ , Off | _Rest ], _Now , _Opts )
164
164
when (? is_us_sep (X ) orelse ? is_world_sep (X ))
165
- andalso (Micros >= 0 andalso Micros < 1000000 )
165
+ andalso (Micros >= 0 andalso Micros < 1_000_000 )
166
166
andalso Year > 31 ->
167
167
{{Year , Month , Day }, {hour (Hour , []) - Off , Min , Sec }, {Micros }};
168
168
@@ -173,7 +173,7 @@ parse([Year, X, Month, X, Day, Hour, $:, Min, $:, Sec, $+, Off | _Rest ], _Now,
173
173
174
174
parse ([Year , X , Month , X , Day , Hour , $: , Min , $: , Sec , $. , Micros , $- , Off | _Rest ], _Now , _Opts )
175
175
when (? is_us_sep (X ) orelse ? is_world_sep (X ))
176
- andalso (Micros >= 0 andalso Micros < 1000000 )
176
+ andalso (Micros >= 0 andalso Micros < 1_000_000 )
177
177
andalso Year > 31 ->
178
178
{{Year , Month , Day }, {hour (Hour , []) + Off , Min , Sec }, {Micros }};
179
179
@@ -316,11 +316,11 @@ tokenise([$., N1, N2, N3, N4 | Rest], Acc)
316
316
when ? is_num (N1 ), ? is_num (N2 ), ? is_num (N3 ), ? is_num (N4 ) ->
317
317
tokenise (Rest , [ ltoi ([N1 , N2 , N3 , N4 ]) * 100 , $. | Acc ]);
318
318
tokenise ([$. , N1 , N2 , N3 | Rest ], Acc ) when ? is_num (N1 ), ? is_num (N2 ), ? is_num (N3 ) ->
319
- tokenise (Rest , [ ltoi ([N1 , N2 , N3 ]) * 1000 , $. | Acc ]);
319
+ tokenise (Rest , [ ltoi ([N1 , N2 , N3 ]) * 1_000 , $. | Acc ]);
320
320
tokenise ([$. , N1 , N2 | Rest ], Acc ) when ? is_num (N1 ), ? is_num (N2 ) ->
321
- tokenise (Rest , [ ltoi ([N1 , N2 ]) * 10000 , $. | Acc ]);
321
+ tokenise (Rest , [ ltoi ([N1 , N2 ]) * 10_000 , $. | Acc ]);
322
322
tokenise ([$. , N1 | Rest ], Acc ) when ? is_num (N1 ) ->
323
- tokenise (Rest , [ ltoi ([N1 ]) * 100000 , $. | Acc ]);
323
+ tokenise (Rest , [ ltoi ([N1 ]) * 100_000 , $. | Acc ]);
324
324
325
325
tokenise ([N1 , N2 , N3 , N4 , N5 , N6 | Rest ], Acc )
326
326
when ? is_num (N1 ), ? is_num (N2 ), ? is_num (N3 ), ? is_num (N4 ), ? is_num (N5 ), ? is_num (N6 ) ->
@@ -718,7 +718,7 @@ ltoi(X) ->
718
718
719
719
720
720
-define (DATE , {{2001 ,3 ,10 },{17 ,16 ,17 }}).
721
- -define (DATEMS , {{2001 ,3 ,10 },{17 ,16 ,17 ,123456 }}).
721
+ -define (DATEMS , {{2001 ,3 ,10 },{17 ,16 ,17 ,123_456 }}).
722
722
-define (DATE_NOON , {{2001 ,3 ,10 },{12 ,0 ,0 }}).
723
723
-define (DATE_MIDNIGHT , {{2001 ,3 ,10 },{0 ,0 ,0 }}).
724
724
-define (ISO , " o \\ WW" ).
@@ -955,7 +955,7 @@ ms_test_() ->
955
955
Now = os :timestamp (),
956
956
[
957
957
? _assertEqual ({{2012 ,12 ,12 }, {12 ,12 ,12 ,1234 }}, parse (" 2012-12-12T12:12:12.001234" )),
958
- ? _assertEqual ({{2012 ,12 ,12 }, {12 ,12 ,12 ,123000 }}, parse (" 2012-12-12T12:12:12.123" )),
958
+ ? _assertEqual ({{2012 ,12 ,12 }, {12 ,12 ,12 ,123_000 }}, parse (" 2012-12-12T12:12:12.123" )),
959
959
? _assertEqual (format (" H:m:s.f \\ m \\ i\\ s \\ m\\ o\\ n\\ t\\ h" ,? DATEMS ),
960
960
" 17:03:17.123456 m is month" ),
961
961
? _assertEqual (format (" Y-m-d\\ TH:i:s.f" ,? DATEMS ),
@@ -994,21 +994,21 @@ format_iso8601_test_() ->
994
994
? _assertEqual (" 2001-03-10T17:16:17.000000Z" ,
995
995
format_iso8601 ({{2001 ,3 ,10 },{17 ,16 ,17 ,0 }})),
996
996
? _assertEqual (" 2001-03-10T17:16:17.100000Z" ,
997
- format_iso8601 ({{2001 ,3 ,10 },{17 ,16 ,17 ,100000 }})),
997
+ format_iso8601 ({{2001 ,3 ,10 },{17 ,16 ,17 ,100_000 }})),
998
998
? _assertEqual (" 2001-03-10T17:16:17.120000Z" ,
999
- format_iso8601 ({{2001 ,3 ,10 },{17 ,16 ,17 ,120000 }})),
999
+ format_iso8601 ({{2001 ,3 ,10 },{17 ,16 ,17 ,120_000 }})),
1000
1000
? _assertEqual (" 2001-03-10T17:16:17.123000Z" ,
1001
- format_iso8601 ({{2001 ,3 ,10 },{17 ,16 ,17 ,123000 }})),
1001
+ format_iso8601 ({{2001 ,3 ,10 },{17 ,16 ,17 ,123_000 }})),
1002
1002
? _assertEqual (" 2001-03-10T17:16:17.123400Z" ,
1003
- format_iso8601 ({{2001 ,3 ,10 },{17 ,16 ,17 ,123400 }})),
1003
+ format_iso8601 ({{2001 ,3 ,10 },{17 ,16 ,17 ,123_400 }})),
1004
1004
? _assertEqual (" 2001-03-10T17:16:17.123450Z" ,
1005
- format_iso8601 ({{2001 ,3 ,10 },{17 ,16 ,17 ,123450 }})),
1005
+ format_iso8601 ({{2001 ,3 ,10 },{17 ,16 ,17 ,123_450 }})),
1006
1006
? _assertEqual (" 2001-03-10T17:16:17.123456Z" ,
1007
- format_iso8601 ({{2001 ,3 ,10 },{17 ,16 ,17 ,123456 }})),
1007
+ format_iso8601 ({{2001 ,3 ,10 },{17 ,16 ,17 ,123_456 }})),
1008
1008
? _assertEqual (" 2001-03-10T17:16:17.023456Z" ,
1009
- format_iso8601 ({{2001 ,3 ,10 },{17 ,16 ,17 ,23456 }})),
1009
+ format_iso8601 ({{2001 ,3 ,10 },{17 ,16 ,17 ,23_456 }})),
1010
1010
? _assertEqual (" 2001-03-10T17:16:17.003456Z" ,
1011
- format_iso8601 ({{2001 ,3 ,10 },{17 ,16 ,17 ,3456 }})),
1011
+ format_iso8601 ({{2001 ,3 ,10 },{17 ,16 ,17 ,3_456 }})),
1012
1012
? _assertEqual (" 2001-03-10T17:16:17.000456Z" ,
1013
1013
format_iso8601 ({{2001 ,3 ,10 },{17 ,16 ,17 ,456 }})),
1014
1014
? _assertEqual (" 2001-03-10T17:16:17.000056Z" ,
@@ -1020,21 +1020,21 @@ format_iso8601_test_() ->
1020
1020
? _assertEqual (" 2001-03-10T07:16:17.000000Z" ,
1021
1021
format_iso8601 ({{2001 ,3 ,10 },{07 ,16 ,17 ,0 }})),
1022
1022
? _assertEqual (" 2001-03-10T07:16:17.100000Z" ,
1023
- format_iso8601 ({{2001 ,3 ,10 },{07 ,16 ,17 ,100000 }})),
1023
+ format_iso8601 ({{2001 ,3 ,10 },{07 ,16 ,17 ,100_000 }})),
1024
1024
? _assertEqual (" 2001-03-10T07:16:17.120000Z" ,
1025
- format_iso8601 ({{2001 ,3 ,10 },{07 ,16 ,17 ,120000 }})),
1025
+ format_iso8601 ({{2001 ,3 ,10 },{07 ,16 ,17 ,120_000 }})),
1026
1026
? _assertEqual (" 2001-03-10T07:16:17.123000Z" ,
1027
- format_iso8601 ({{2001 ,3 ,10 },{07 ,16 ,17 ,123000 }})),
1027
+ format_iso8601 ({{2001 ,3 ,10 },{07 ,16 ,17 ,123_000 }})),
1028
1028
? _assertEqual (" 2001-03-10T07:16:17.123400Z" ,
1029
- format_iso8601 ({{2001 ,3 ,10 },{07 ,16 ,17 ,123400 }})),
1029
+ format_iso8601 ({{2001 ,3 ,10 },{07 ,16 ,17 ,123_400 }})),
1030
1030
? _assertEqual (" 2001-03-10T07:16:17.123450Z" ,
1031
- format_iso8601 ({{2001 ,3 ,10 },{07 ,16 ,17 ,123450 }})),
1031
+ format_iso8601 ({{2001 ,3 ,10 },{07 ,16 ,17 ,123_450 }})),
1032
1032
? _assertEqual (" 2001-03-10T07:16:17.123456Z" ,
1033
- format_iso8601 ({{2001 ,3 ,10 },{07 ,16 ,17 ,123456 }})),
1033
+ format_iso8601 ({{2001 ,3 ,10 },{07 ,16 ,17 ,123_456 }})),
1034
1034
? _assertEqual (" 2001-03-10T07:16:17.023456Z" ,
1035
- format_iso8601 ({{2001 ,3 ,10 },{07 ,16 ,17 ,23456 }})),
1035
+ format_iso8601 ({{2001 ,3 ,10 },{07 ,16 ,17 ,23_456 }})),
1036
1036
? _assertEqual (" 2001-03-10T07:16:17.003456Z" ,
1037
- format_iso8601 ({{2001 ,3 ,10 },{07 ,16 ,17 ,3456 }})),
1037
+ format_iso8601 ({{2001 ,3 ,10 },{07 ,16 ,17 ,3_456 }})),
1038
1038
? _assertEqual (" 2001-03-10T07:16:17.000456Z" ,
1039
1039
format_iso8601 ({{2001 ,3 ,10 },{07 ,16 ,17 ,456 }})),
1040
1040
? _assertEqual (" 2001-03-10T07:16:17.000056Z" ,
@@ -1051,31 +1051,31 @@ parse_iso8601_test_() ->
1051
1051
parse (" 2001-03-10T17:16:17.000Z" )),
1052
1052
? _assertEqual ({{2001 ,3 ,10 },{17 ,16 ,17 ,0 }},
1053
1053
parse (" 2001-03-10T17:16:17.000000Z" )),
1054
- ? _assertEqual ({{2001 ,3 ,10 },{17 ,16 ,17 ,100000 }},
1054
+ ? _assertEqual ({{2001 ,3 ,10 },{17 ,16 ,17 ,100_000 }},
1055
1055
parse (" 2001-03-10T17:16:17.1Z" )),
1056
- ? _assertEqual ({{2001 ,3 ,10 },{17 ,16 ,17 ,120000 }},
1056
+ ? _assertEqual ({{2001 ,3 ,10 },{17 ,16 ,17 ,120_000 }},
1057
1057
parse (" 2001-03-10T17:16:17.12Z" )),
1058
- ? _assertEqual ({{2001 ,3 ,10 },{17 ,16 ,17 ,123000 }},
1058
+ ? _assertEqual ({{2001 ,3 ,10 },{17 ,16 ,17 ,123_000 }},
1059
1059
parse (" 2001-03-10T17:16:17.123Z" )),
1060
- ? _assertEqual ({{2001 ,3 ,10 },{17 ,16 ,17 ,123400 }},
1060
+ ? _assertEqual ({{2001 ,3 ,10 },{17 ,16 ,17 ,123_400 }},
1061
1061
parse (" 2001-03-10T17:16:17.1234Z" )),
1062
- ? _assertEqual ({{2001 ,3 ,10 },{17 ,16 ,17 ,123450 }},
1062
+ ? _assertEqual ({{2001 ,3 ,10 },{17 ,16 ,17 ,123_450 }},
1063
1063
parse (" 2001-03-10T17:16:17.12345Z" )),
1064
- ? _assertEqual ({{2001 ,3 ,10 },{17 ,16 ,17 ,123456 }},
1064
+ ? _assertEqual ({{2001 ,3 ,10 },{17 ,16 ,17 ,123_456 }},
1065
1065
parse (" 2001-03-10T17:16:17.123456Z" )),
1066
1066
1067
- ? _assertEqual ({{2001 ,3 ,10 },{15 ,16 ,17 ,100000 }},
1067
+ ? _assertEqual ({{2001 ,3 ,10 },{15 ,16 ,17 ,100_000 }},
1068
1068
parse (" 2001-03-10T16:16:17.1+01:00" )),
1069
- ? _assertEqual ({{2001 ,3 ,10 },{15 ,16 ,17 ,123456 }},
1069
+ ? _assertEqual ({{2001 ,3 ,10 },{15 ,16 ,17 ,123_456 }},
1070
1070
parse (" 2001-03-10T16:16:17.123456+01:00" )),
1071
- ? _assertEqual ({{2001 ,3 ,10 },{17 ,16 ,17 ,100000 }},
1071
+ ? _assertEqual ({{2001 ,3 ,10 },{17 ,16 ,17 ,100_000 }},
1072
1072
parse (" 2001-03-10T16:16:17.1-01:00" )),
1073
- ? _assertEqual ({{2001 ,3 ,10 },{17 ,16 ,17 ,123456 }},
1073
+ ? _assertEqual ({{2001 ,3 ,10 },{17 ,16 ,17 ,123_456 }},
1074
1074
parse (" 2001-03-10T16:16:17.123456-01:00" )),
1075
1075
1076
1076
? _assertEqual ({{2001 ,3 ,10 },{17 ,16 ,17 ,456 }},
1077
1077
parse (" 2001-03-10T17:16:17.000456Z" )),
1078
- ? _assertEqual ({{2001 ,3 ,10 },{17 ,16 ,17 ,123000 }},
1078
+ ? _assertEqual ({{2001 ,3 ,10 },{17 ,16 ,17 ,123_000 }},
1079
1079
parse (" 2001-03-10T17:16:17.123000Z" ))
1080
1080
].
1081
1081
0 commit comments