tzdb 2022g: 5 thay đổi múi giờ

Xem 5 thay đổi múi giờ trong IANA tzdb 2022g, phát hành ngày 29 tháng 11, 2022, cùng liên kết tới các quốc gia và múi giờ liên quan.

Ngày phát hành: · Tự động tạo từ dữ liệu nguồn.

Đăng tại Time Dozen:

Nguồn: IANA

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

  • Rìa phía bắc của Chihuahua chuyển sang cách tính giờ của Hoa Kỳ.
  • Phần lớn Greenland ngừng đổi giờ sau tháng 3 năm 2023.
  • Sửa một số mốc thời gian trước 1996 ở miền bắc Canada.
  • C89 nay bị phản đối (deprecated); hãy dùng C99 trở lên.
  • Sửa lỗi portability cho AIX, libintl, MS-Windows, musl, z/OS
  • Trong mã C, dùng thêm nhiều tính năng C23 nếu có.
  • timegm của C23 nay được hỗ trợ theo mặc định
  • Sửa các lỗi tràn số nguyên khó xảy ra

Thay đổi mốc thời gian tương lai

  • Ở bang Chihuahua của Mexico, dải biên giới gần Hoa Kỳ sẽ đổi để khớp với các địa phương lân cận của Hoa Kỳ vào 2022-11-30. Phần phía tây của dải này, đại diện bởi Ciudad Juárez, chuyển từ -06 quanh năm sang -07/-06 với quy tắc DST của Hoa Kỳ, giống El Paso, TX. Phần phía đông, đại diện bởi Ojinaga, sẽ áp dụng DST của Hoa Kỳ vào năm tới, giống Presidio, TX. (Cảm ơn Heitor David Pinto.) Một Zone mới America/Ciudad_Juarez được tách ra từ America/Ojinaga.
  • Phần lớn Greenland, đại diện bởi America/Nuuk, ngừng áp dụng giờ mùa đông sau tháng 3 năm 2023, nên giờ mùa hè (DST) của nơi này trở thành giờ chuẩn. (Cảm ơn Jonas Nyrup và Jürgen Appel.)

Thay đổi mốc thời gian quá khứ

  • Các thay đổi cho miền bắc Canada trước 1996 (cảm ơn Chris Walton): Gộp America/Iqaluit và America/Pangnirtung vào America/Iqaluit, với một Link tương thích ngược cho tên còn lại. Không có bằng chứng tốt cho thấy hai nơi này khác nhau từ 1970. Thay đổi này ảnh hưởng các mốc thời gian America/Pangnirtung trước 1996. Cambridge Bay, Inuvik, Iqaluit, Rankin Inlet, Resolute và Yellowknife không áp dụng DST vào 1965, và có áp dụng DST từ 1972 đến 1979. Whitehorse chuyển từ -09 sang -08 vào 1966-02-27, không phải 1967-05-28.
  • Lần lùi giờ năm 1993 của Colombia diễn ra vào 02-06 24:00, không phải 04-04 00:00. (Cảm ơn Alois Treindl.)
  • Lần đổi giờ ngày 1981-12-31 của Singapore diễn ra lúc 16:00 UTC (23:30 giờ địa phương), không phải 24:00 giờ địa phương. (Cảm ơn Geoff Clare qua Robert Elz.)
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 code

  • Although tzcode still works with C89, bugs found in recent routine maintenance indicate that bitrot has set in and that in practice C89 is no longer used to build tzcode. As it is a maintenance burden, support for C89 is planned to be removed soon. Instead, please use compilers compatible with C99, C11, C17, or C23.
  • timegm, which tzcode implemented in 1989, will finally be standardized 34 years later as part of C23, so timegm is now supported even if STD_INSPIRED is not defined.
  • Fix bug in zdump's tzalloc emulation on hosts that lack tm_zone. (Problem reported by Đoàn Trần Công Danh.)
  • Fix bug in zic on hosts where malloc(0) yields NULL on success. (Problem reported by Tim McBrayer for AIX 6.1.)
  • Fix zic configuration to avoid linkage failures on some platforms. (Problems reported by Gilmore Davidson and Igor Ivanov.)
  • Work around MS-Windows nmake incompatibility with POSIX. (Problem reported by Manuela Friedrich.)
  • Port mktime and strftime to debugging platforms where accessing uninitialized data has undefined behavior (strftime problem reported by Robert Elz).
  • Check more carefully for unlikely integer overflows, preferring C23 <stdckdint.h> to overflow checking by hand, as the latter has had obscure bugs.

Changes to build procedure

  • New Makefile rule check_mild that skips checking whether Link lines are in the file 'backward'. (Inspired by a suggestion from Stephen Colebourne.)