Ngày phát hành: · Tự động tạo từ dữ liệu nguồn.
Đăng tại Time Dozen:
Phần tóm tắt và thay đổi mốc thời gian được dịch từ ghi chú phát hành IANA; mục gập bên dưới giữ nguyên văn tiếng Anh.
Tóm tắt
- Egypt nay lại dùng DST, từ tháng 4 đến tháng 10.
- Năm nay Morocco tiến giờ vào 23 tháng 4 chứ không phải 30 tháng 4.
- Palestine hoãn thời điểm bắt đầu DST năm nay.
- Phần lớn Greenland vẫn dùng DST từ 2024 trở đi.
- America/Yellowknife nay là Link tới America/Edmonton.
- tzselect nay có thể dùng thời gian hiện tại để giúp suy ra múi giờ.
- Mã nguồn nay mặc định dùng C99 trở lên.
- Sửa cách dùng thuộc tính C23.
Thay đổi mốc thời gian tương lai
- Bắt đầu từ 2023, Egypt sẽ áp dụng DST từ thứ Sáu cuối cùng của tháng 4 đến thứ Năm cuối cùng của tháng 10. (Cảm ơn Ahmad ElDardiry.) Giả định thời điểm chuyển đổi lần lượt là 00:00 và 24:00.
- Năm 2023, lần tiến giờ sau Ramadan của Morocco sẽ diễn ra vào 23 tháng 4 chứ không phải 30 tháng 4. (Cảm ơn Milamber.) Điều chỉnh dự đoán cho các năm sau cho phù hợp. Điều này ảnh hưởng các dự đoán cho 2023, 2031, 2038 và các năm sau đó.
- Năm nay Palestine sẽ hoãn lần tiến giờ từ 25 tháng 3 sang 29 tháng 4 do Ramadan. (Cảm ơn Heba Hamad.) Đưa ra cả các dự đoán cho những dịp Ramadan trong tương lai.
- Phần lớn Greenland, đại diện bởi America/Nuuk, sẽ tiếp tục áp dụng DST theo quy tắc của Liên minh châu Âu. Kết hợp với quyết định không đổi giờ vào mùa thu 2023 của Greenland, America/Nuuk do đó chuyển từ -03/-02 sang -02/-01 có hiệu lực từ 2023-10-29 lúc 01:00 UTC. (Cảm ơn Thomas M. Steenholdt.) Thay đổi này so với 2022g không ảnh hưởng các mốc thời gian cho đến 2024-03-30, và không ảnh hưởng tm_isdst cho đến 2023-03-25.
Thay đổi mốc thời gian quá khứ
- America/Yellowknife đã chuyển từ Zone thành Link tương thích ngược, vì từ 1970 nó không còn khác America/Edmonton. (Cảm ơn Almaz Mingaleev.) Điều này ảnh hưởng một số mốc thời gian trước 1948. Dữ liệu cũ nay nằm trong 'backzone'.
Ghi chú khác của bản này (mã nguồn, quy trình build, tài liệu), nguyên văn tiếng Anh
Changes to past time zone abbreviations
- When observing Moscow time, Europe/Kirov and Europe/Volgograd now use the abbreviations MSK/MSD instead of numeric abbreviations, for consistency with other timezones observing Moscow time.
Changes to code
- You can now tell tzselect local time, to simplify later choices. Select the 'time' option in its first prompt.
- You can now compile with -DTZNAME_MAXIMUM=N to limit time zone abbreviations to N bytes (default 255). The reference runtime library now rejects POSIX-style TZ strings that contain longer abbreviations, treating them as UTC. Previously the limit was platform dependent and abbreviations were silently truncated to 16 bytes even when the limit was greater than 16.
- The code by default is now designed for C99 or later. To build on a mostly-C89 platform, compile with -DPORT_TO_C89; this should work on C89 platforms that also support C99 'long long' and perhaps a few other extensions to C89. To support C89 callers of tzcode's library, compile with -DSUPPORT_C89; however, this could trigger latent bugs in C99-or-later callers. The two new macros are transitional aids planned to be removed in a future version (say, in 2029), when C99 or later will be required.
- The code now builds again on pre-C99 platforms, if you compile with -DPORT_TO_C89. This fixes a bug introduced in 2022f.
- On C23-compatible platforms tzcode no longer uses syntax like 'static [[noreturn]] void usage(void);'. Instead, it uses '[[noreturn]] static void usage(void);' as strict C23 requires. (Problem reported by Houge Langley.)
- The code's functions now constrain their arguments with the C 'restrict' keyword consistently with their documentation. This may allow future optimizations.
- zdump again builds standalone with ckdadd and without setenv, fixing a bug introduced in 2022g. (Problem reported by panic.)
- leapseconds.awk can now process a leap seconds file that never expires; this might be useful if leap seconds are discontinued.
Changes to commentary
- tz-link.html has a new section "Coordinating with governments and distributors". (Thanks to Neil Fuller for some of the text.)
- To improve tzselect diagnostics, zone1970.tab's comments column is now limited to countries that have multiple timezones.
- Note that there are plans to discontinue leap seconds by 2035.