uutils
coreutils
BlogDocsChangelog

Fix timezone parsing bug in date command

#8992
Comparing
naoNao89:fix-date-timezone-parsing
(
7cdfee5
) with
main
(
21ee64c
)
CodSpeed Performance Gauge
+5%
Improvements
1
Untouched
105
Skipped
73

Benchmarks

Skipped (73)

Improved

sort_random_strings
src/uu/sort/benches/sort_locale_bench.rs
CodSpeed Performance Gauge
+5%
31.8 ms30.3 ms

Passed

rm_recursive_tree
src/uu/rm/benches/rm_bench.rs
CodSpeed Performance Gauge
+1%
13.8 ms13.7 ms
sort_mixed_utf8_locale
src/uu/sort/benches/sort_locale_bench.rs
CodSpeed Performance Gauge
+1%
38.9 ms38.7 ms
sort_german_c_locale
src/uu/sort/benches/sort_locale_bench.rs
CodSpeed Performance Gauge
+1%
39 ms38.8 ms
sort_german_locale
src/uu/sort/benches/sort_locale_bench.rs
CodSpeed Performance Gauge
0%
39 ms38.8 ms
sort_accented_data[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
363 ms361.9 ms
sort_ascii_c_locale
src/uu/sort/benches/sort_locale_bench.rs
CodSpeed Performance Gauge
0%
22.9 ms22.9 ms
sort_numeric
src/uu/sort/benches/sort_locale_bench.rs
CodSpeed Performance Gauge
0%
23 ms22.9 ms
tsort_input_parsing_heavy[50000]
src/uu/tsort/benches/tsort_bench.rs
CodSpeed Performance Gauge
0%
12.8 s12.8 s
sort_mixed_data[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
327.3 ms327.1 ms
du_wide_tree[(5000, 500)]
src/uu/du/benches/du_bench.rs
CodSpeed Performance Gauge
0%
11.3 ms11.3 ms
cp_archive_balanced_tree[(5, 4, 10)]
src/uu/cp/benches/cp_bench.rs
CodSpeed Performance Gauge
0%
77 ms77 ms
sort_reverse_mixed
src/uu/sort/benches/sort_locale_bench.rs
CodSpeed Performance Gauge
0%
38.3 ms38.3 ms
sort_unique_locale[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
482.6 ms482.5 ms
ls_recursive_long_all_balanced_tree[(6, 4, 15)]
src/uu/ls/benches/ls_bench.rs
CodSpeed Performance Gauge
0%
138.6 ms138.6 ms
ls_recursive_long_all_deep_tree[(100, 4)]
src/uu/ls/benches/ls_bench.rs
CodSpeed Performance Gauge
0%
3.2 ms3.2 ms
ls_recursive_long_all_wide_tree[(15000, 1500)]
src/uu/ls/benches/ls_bench.rs
CodSpeed Performance Gauge
0%
147.8 ms147.8 ms
tsort_wide_dag[100000]
src/uu/tsort/benches/tsort_bench.rs
CodSpeed Performance Gauge
0%
135.5 ms135.5 ms
mv_multiple_to_dir
src/uu/mv/benches/mv_bench.rs
CodSpeed Performance Gauge
0%
13.1 ms13.1 ms
ls_recursive_long_all_mixed_tree
src/uu/ls/benches/ls_bench.rs
CodSpeed Performance Gauge
0%
4 ms4 ms
cp_recursive_wide_tree[(6000, 800)]
src/uu/cp/benches/cp_bench.rs
CodSpeed Performance Gauge
0%
188.3 ms188.3 ms
du_human_balanced_tree[(5, 4, 10)]
src/uu/du/benches/du_bench.rs
CodSpeed Performance Gauge
0%
10.4 ms10.4 ms
split_lines
src/uu/split/benches/split_bench.rs
CodSpeed Performance Gauge
0%
6 ms6 ms
hashsum_sha512
src/uu/hashsum/benches/hashsum_bench.rs
CodSpeed Performance Gauge
0%
111.7 ms111.7 ms
uniq_heavy_duplicates[10000]
src/uu/uniq/benches/uniq_bench.rs
CodSpeed Performance Gauge
0%
1.9 ms1.9 ms
tsort_linear_chain[1000000]
src/uu/tsort/benches/tsort_bench.rs
CodSpeed Performance Gauge
0%
1.5 s1.5 s
sort_ascii_utf8_locale
src/uu/sort/benches/sort_locale_bench.rs
CodSpeed Performance Gauge
0%
46.2 ms46.2 ms
ls_recursive_wide_tree[(10000, 1000)]
src/uu/ls/benches/ls_bench.rs
CodSpeed Performance Gauge
0%
51.3 ms51.3 ms
uniq_with_count[10000]
src/uu/uniq/benches/uniq_bench.rs
CodSpeed Performance Gauge
0%
1.8 ms1.8 ms
numfmt_to_si_precision[10000]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
35.4 ms35.4 ms
numfmt_large_numbers_si[10000]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
34.5 ms34.5 ms
nl_large_file[10]
src/uu/nl/benches/nl_bench.rs
CodSpeed Performance Gauge
0%
100.8 ms100.8 ms
numfmt_to_iec[10000]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
34 ms34 ms
wc_default_large_line_count[100000]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
48.9 ms48.9 ms
wc_words_synthetic[2000]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
10.3 s10.3 s
sort_case_sensitive[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
173.7 ms173.7 ms
sort_ascii_only[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
353.1 ms353.1 ms
hashsum_sha256_check
src/uu/hashsum/benches/hashsum_bench.rs
CodSpeed Performance Gauge
0%
173.6 ms173.6 ms
unexpand_large_file[10]
src/uu/unexpand/benches/unexpand_bench.rs
CodSpeed Performance Gauge
0%
548 ms548 ms
unexpand_many_lines[100000]
src/uu/unexpand/benches/unexpand_bench.rs
CodSpeed Performance Gauge
0%
261.4 ms261.4 ms
hashsum_md5_check
src/uu/hashsum/benches/hashsum_bench.rs
CodSpeed Performance Gauge
0%
32 ms32 ms
hashsum_sha256
src/uu/hashsum/benches/hashsum_bench.rs
CodSpeed Performance Gauge
0%
173.6 ms173.6 ms
wc_words_large_line_count[100000]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
43.8 ms43.8 ms
expand_many_lines[100000]
src/uu/expand/benches/expand_bench.rs
CodSpeed Performance Gauge
0%
100.9 ms100.9 ms
fold_many_lines[100000]
src/uu/fold/benches/fold_bench.rs
CodSpeed Performance Gauge
0%
125.4 ms125.4 ms
sort_key_field[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
716.9 ms716.9 ms
hashsum_md5
src/uu/hashsum/benches/hashsum_bench.rs
CodSpeed Performance Gauge
0%
32 ms32 ms
rm_force_files
src/uu/rm/benches/rm_bench.rs
CodSpeed Performance Gauge
0%
2.1 ms2.1 ms
numfmt_round_modes[("up", 10000)]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
32.8 ms32.8 ms
numfmt_padding[(10000, 50)]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
47 ms47 ms
seq_formatted
src/uu/seq/benches/seq_bench.rs
CodSpeed Performance Gauge
0%
100.1 ms100.1 ms
expand_custom_tabstops[50000]
src/uu/expand/benches/expand_bench.rs
CodSpeed Performance Gauge
0%
25.9 ms25.9 ms
cut_fields_custom_delim
src/uu/cut/benches/cut_bench.rs
CodSpeed Performance Gauge
0%
40.5 ms40.5 ms
numfmt_round_modes[("towards-zero", 10000)]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
34.5 ms34.5 ms
numfmt_to_si[10000]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
34 ms34 ms
numfmt_round_modes[("down", 10000)]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
34.6 ms34.6 ms
nl_many_lines[100000]
src/uu/nl/benches/nl_bench.rs
CodSpeed Performance Gauge
0%
79.7 ms79.7 ms
numfmt_from_si[10000]
src/uu/numfmt/benches/numfmt_bench.rs
CodSpeed Performance Gauge
0%
33.2 ms33.2 ms
fold_custom_width[50000]
src/uu/fold/benches/fold_bench.rs
CodSpeed Performance Gauge
0%
46.6 ms46.6 ms
cut_fields_tab
src/uu/cut/benches/cut_bench.rs
CodSpeed Performance Gauge
0%
33.9 ms33.9 ms
seq_custom_separator
src/uu/seq/benches/seq_bench.rs
CodSpeed Performance Gauge
0%
29.2 ms29.2 ms
seq_integers
src/uu/seq/benches/seq_bench.rs
CodSpeed Performance Gauge
0%
26.7 ms26.7 ms
sort_case_insensitive[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
282.6 ms282.6 ms
seq_with_step
src/uu/seq/benches/seq_bench.rs
CodSpeed Performance Gauge
0%
13.6 ms13.6 ms
ls_recursive_deep_tree[(200, 2)]
src/uu/ls/benches/ls_bench.rs
CodSpeed Performance Gauge
0%
2.1 ms2.1 ms
cut_bytes
src/uu/cut/benches/cut_bench.rs
CodSpeed Performance Gauge
0%
8.4 ms8.4 ms
cut_characters
src/uu/cut/benches/cut_bench.rs
CodSpeed Performance Gauge
0%
7.5 ms7.5 ms
mv_directory
src/uu/mv/benches/mv_bench.rs
CodSpeed Performance Gauge
0%
3.1 ms3.1 ms
uniq_case_insensitive[10000]
src/uu/uniq/benches/uniq_bench.rs
CodSpeed Performance Gauge
0%
1.7 ms1.7 ms
hashsum_sha1
src/uu/hashsum/benches/hashsum_bench.rs
CodSpeed Performance Gauge
0%
72.5 ms72.5 ms
sort_dictionary_order[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
1.1 s1.1 s
tsort_tree_dag[(10, 3)]
src/uu/tsort/benches/tsort_bench.rs
CodSpeed Performance Gauge
0%
34.2 ms34.2 ms
sort_long_line[160000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
1.9 ms1.9 ms
rm_multiple_files
src/uu/rm/benches/rm_bench.rs
CodSpeed Performance Gauge
0%
2.2 ms2.2 ms
rm_single_file
src/uu/rm/benches/rm_bench.rs
CodSpeed Performance Gauge
0%
106.9 ms106.9 ms
split_numeric_suffix
src/uu/split/benches/split_bench.rs
CodSpeed Performance Gauge
0%
6.1 ms6.1 ms
wc_bytes_lines_synthetic[2000]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
120.2 ms120.2 ms
wc_lines_extreme_line_lengths[(100000, 200)]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
1.6 ms1.6 ms
wc_lines_variable_length[(50, 500)]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
3.4 ms3.4 ms
wc_lines_large_line_count[500000]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
2.9 ms2.9 ms
sort_mixed_c_locale
src/uu/sort/benches/sort_locale_bench.rs
CodSpeed Performance Gauge
0%
38.6 ms38.6 ms
wc_chars_large_line_count[100000]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
993.8 µs994 µs
ls_recursive_mixed_tree
src/uu/ls/benches/ls_bench.rs
CodSpeed Performance Gauge
0%
1.4 ms1.4 ms
tsort_complex_dag[50000]
src/uu/tsort/benches/tsort_bench.rs
CodSpeed Performance Gauge
0%
84 ms84 ms
du_max_depth_balanced_tree[(6, 4, 10)]
src/uu/du/benches/du_bench.rs
CodSpeed Performance Gauge
0%
33 ms33 ms
cp_preserve_metadata[(5, 4, 10)]
src/uu/cp/benches/cp_bench.rs
CodSpeed Performance Gauge
0%
74.2 ms74.2 ms
cp_recursive_balanced_tree[(5, 4, 10)]
src/uu/cp/benches/cp_bench.rs
CodSpeed Performance Gauge
0%
71.7 ms71.7 ms
split_bytes
src/uu/split/benches/split_bench.rs
CodSpeed Performance Gauge
0%
500.6 µs500.7 µs
du_balanced_tree[(5, 4, 10)]
src/uu/du/benches/du_bench.rs
CodSpeed Performance Gauge
0%
9.3 ms9.3 ms
ls_recursive_balanced_tree[(6, 4, 15)]
src/uu/ls/benches/ls_bench.rs
CodSpeed Performance Gauge
0%
55.8 ms55.8 ms
mv_single_file
src/uu/mv/benches/mv_bench.rs
CodSpeed Performance Gauge
0%
131.3 ms131.4 ms
split_number_chunks
src/uu/split/benches/split_bench.rs
CodSpeed Performance Gauge
0%
274.9 µs275 µs
cp_large_file[16]
src/uu/cp/benches/cp_bench.rs
CodSpeed Performance Gauge
0%
297.2 µs297.4 µs
mv_force_overwrite
src/uu/mv/benches/mv_bench.rs
CodSpeed Performance Gauge
0%
121.9 ms121.9 ms
wc_bytes_synthetic[500]
src/uu/wc/benches/wc_bench.rs
CodSpeed Performance Gauge
0%
163.6 µs163.7 µs
b64_decode_synthetic
src/uu/base64/benches/base64_bench.rs
CodSpeed Performance Gauge
0%
148.1 µs148.2 µs
b64_decode_ignore_garbage_synthetic
src/uu/base64/benches/base64_bench.rs
CodSpeed Performance Gauge
0%
148.9 µs149 µs
du_deep_tree[(100, 3)]
src/uu/du/benches/du_bench.rs
CodSpeed Performance Gauge
0%
1.1 ms1.1 ms
b64_encode_synthetic
src/uu/base64/benches/base64_bench.rs
CodSpeed Performance Gauge
0%
144.9 µs145 µs
cp_recursive_deep_tree[(120, 4)]
src/uu/cp/benches/cp_bench.rs
CodSpeed Performance Gauge
0%
13.3 ms13.3 ms
sort_unique_mixed
src/uu/sort/benches/sort_locale_bench.rs
CodSpeed Performance Gauge
0%
39.2 ms39.2 ms
sort_reverse_locale[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
361 ms361.5 ms
du_all_wide_tree[(5000, 500)]
src/uu/du/benches/du_bench.rs
CodSpeed Performance Gauge
0%
18.2 ms18.2 ms
sort_numeric[500000]
src/uu/sort/benches/sort_bench.rs
CodSpeed Performance Gauge
0%
1.2 s1.2 s
du_summarize_balanced_tree[(5, 4, 10)]
src/uu/du/benches/du_bench.rs
CodSpeed Performance Gauge
0%
8.5 ms8.5 ms
du_all_balanced_tree[(4, 3, 10)]
src/uu/du/benches/du_bench.rs
CodSpeed Performance Gauge
-1%
1.6 ms1.6 ms

Commits

Click on a commit to change the comparison range
Base
main
21ee64c
+0.01%
style: apply cargo fmt formatting Apply standard Rust formatting to: - Align comments and improve readability in parse_date function - Format test function calls for better parameter visibility - Remove trailing whitespace No functional changes, just code style improvements.
7e83262
2 days ago
by naoNao89
+3.66%
date: fix Windows timezone parsing with robust cross-platform solution - Use fixed offset timezone to preserve chrono's exact timezone calculation - Avoids Windows vs Unix timezone database differences in DST transitions - Documents critical case: Windows CI interprets dates incorrectly due to different DST rules - Trade-off: %Z shows numeric offset (+0100) instead of timezone abbreviation (CET) - Updates tests to expect numeric offsets for cross-platform consistency This ensures consistent behavior across all platforms by using chrono's precise timezone calculations instead of relying on system timezone databases.
f4eafa4
2 days ago
by naoNao89
-3.67%
fix: handle timezone offset differences between chrono and jiff on Windows When parsing dates without explicit timezone, verify that the system timezone offset (from jiff) matches chrono's calculation. If offsets differ due to different DST rules (especially on Windows), adjust the timestamp to ensure the displayed time remains correct while preserving timezone abbreviations. This fixes the Windows CI test failure where the time was off by an hour or the timezone showed as UTC instead of CET for dates like '2025-01-15 8:30:00' with TZ=Europe/Prague environment variable set.
d79e38f
2 days ago
by naoNao89
+5.04%
Merge branch 'main' into fix-date-timezone-parsing
7cdfee5
7 hours ago
by naoNao89
© 2025 CodSpeed Technology
Home Terms Privacy Docs