วันที่เผยแพร่: · สร้างโดยอัตโนมัติจากข้อมูลต้นทาง
เผยแพร่บน Time Dozen:
ส่วนสรุปและการเปลี่ยนแปลงเวลาแปลจากบันทึกการเผยแพร่ของ IANA ส่วนที่พับไว้ด้านล่างคงข้อความต้นฉบับภาษาอังกฤษ
โดยสรุป
- ปรับปรุงข้อมูลในอดีตของเม็กซิโก มองโกเลีย และโปรตุเกส
- ชื่อแบบ System V ล้าสมัยแล้ว
- ไฟล์ข้อมูลหลักตอนนี้ใช้ %z
- โค้ดสอดคล้องกับ RFC 8536 สำหรับค่าเวลาช่วงแรกแล้ว
- รองรับ POSIX.1-2024 ซึ่งตัด asctime_r และ ctime_r ออก
- สมมุติว่าเชลล์สคริปต์ใช้ POSIX.2-1992 หรือใหม่กว่า
- SUPPORT_C89 มีค่าเริ่มต้นเป็น 1 แล้ว
การเปลี่ยนแปลงเวลาในอดีต
- Asia/Choibalsan เป็นนามแฝงของ Asia/Ulaanbaatar แล้ว แทนที่จะเป็น Zone แยกที่มีพฤติกรรมต่างกันก่อนเดือนเมษายน 2008 ซึ่งดูเหมาะสมกว่า เมื่อพิจารณาว่าข้อมูลประวัติเขตเวลาของมองโกเลียที่เรามีขัดแย้งกันมาก (ขอบคุณ Heitor David Pinto)
- อัปเดตการเปลี่ยนเวลาในอดีตของเม็กซิโกตามพระราชกฤษฎีกาทางการของเม็กซิโก ค่าเวลาที่ได้รับผลกระทบอยู่ในช่วงปี 1921-1927, 1931, 1945, 1949-1970 และ 1981-1997 โซนที่ได้รับผลกระทบคือ America/Bahia_Banderas, America/Cancun, America/Chihuahua, America/Ciudad_Juarez, America/Hermosillo, America/Mazatlan, America/Merida, America/Mexico_City, America/Monterrey, America/Ojinaga และ America/Tijuana (ขอบคุณ Heitor David Pinto)
- อัปเดตการเปลี่ยนเวลาในอดีตของโปรตุเกส ซึ่งแทนด้วย Europe/Lisbon, Atlantic/Azores และ Atlantic/Madeira ตามการอ่านกฎหมายโปรตุเกสฉบับเก่าอย่างละเอียด แทนข้อมูลเดิมที่มาจาก Whitman และ Shanks & Pottenger เป็นหลัก การเปลี่ยนแปลงนี้กระทบการเปลี่ยนเวลาบางรายการในปี 1917-1921, 1924 และ 1940 ในทุกภูมิภาคเหล่านี้ราวสองสามชั่วโมงหรือสองสามวัน และกระทบค่าเวลาต่าง ๆ ระหว่างปี 1977 ถึง 1993 ตามแต่ละภูมิภาค โดยเฉพาะอย่างยิ่ง อะซอเรสและมาเดราไม่ได้ใช้ DST ตั้งแต่ปี 1977 ถึง 1981 นอกจากนี้ยังปรับการใช้เวลามาตรฐานตามโซนในอดีตอาณานิคมของโปรตุเกส ได้แก่ Africa/Maputo ในปี 1909 และ Asia/Dili ราว 22 นาทีเมื่อต้นปี 1912 (ขอบคุณ Tim Parenti)
การเปลี่ยนแปลงข้อมูล
- ชื่อที่มีไว้เพื่อความเข้ากันได้กับ UNIX System V เท่านั้น (ออกรุ่นล่าสุดในทศวรรษ 1990) ถูกย้ายไปไว้ใน 'backward' ชื่อเหล่านี้ซึ่งสำหรับค่าเวลาหลังปี 1970 ส่วนใหญ่ซ้ำกับข้อมูลของชื่อทางภูมิศาสตร์ ทำให้ผู้ใช้ปลายทางสับสน ชื่อที่ย้ายไป 'backward' ตอนนี้เป็น Link ไปยังชื่อทางภูมิศาสตร์ ซึ่งเปลี่ยนพฤติกรรมของ TZ='EET' สำหรับค่าเวลาก่อนปี 1981 บางส่วน TZ='CET' สำหรับค่าเวลาก่อนปี 1947 บางส่วน และ TZ='WET' สำหรับค่าเวลาก่อนปี 1996 บางส่วน นอกจากนี้ TZ='MET' ตอนนี้ทำงานเหมือน TZ='CET' จึงใช้ตัวย่อเขตเวลา "CET" แทน "MET" ผู้ที่ต้องการพฤติกรรม TZDB แบบเดิมซึ่งไม่ตรงกับนาฬิกาจริงใด ๆ สามารถหารายการเก่าได้ใน 'backzone' (ขอบคุณ Justin Grant ที่รายงานปัญหา)
- ตัวย่อเขตเวลาในไฟล์ต้นทางหลักตอนนี้ใช้ %z ซึ่ง zic รองรับตั้งแต่รุ่น 2015f และใช้ในรูปแบบ vanguard ตั้งแต่รุ่น 2022b เช่น ตอนนี้ America/Sao_Paulo มีบรรทัดต่อเนื่องของโซนว่า "-3:00 Brazil %z" ซึ่งเกิดข้อผิดพลาดได้น้อยกว่า "-3:00 Brazil -03/-02" แบบเดิม การเปลี่ยนนี้ไม่เปลี่ยนข้อมูลที่แสดง ไฟล์ TZif ที่สร้างขึ้นจึงไม่เปลี่ยนแปลง รูปแบบ rearguard ยังคงหลีกเลี่ยง %z เพื่อรองรับตัวแยกวิเคราะห์ที่ล้าสมัย
- Asia/Almaty ถูกลบออกจาก zonenow.tab เนื่องจากตอนนี้ตรงกับ Asia/Tashkent สำหรับค่าเวลาในอนาคต จากการเปลี่ยนเขตเวลาของคาซัคสถานเมื่อ 2024-02-29 ในทำนองเดียวกัน America/Scoresbysund ก็ถูกลบออก เพราะตอนนี้ตรงกับ America/Nuuk จากการเปลี่ยนเขตเวลาเมื่อ 2024-03-31
บันทึกอื่นของรุ่นนี้ (โค้ด ขั้นตอนบิลด์ เอกสาร) ข้อความต้นฉบับภาษาอังกฤษ
Changes to past tm_isdst flags
- The period from 1966-04-03 through 1966-10-02 in Portugal is now modeled as DST, to more closely reflect how contemporaneous changes in law entered into force.
Changes to code
- localtime.c now always uses a TZif file's time type 0 to handle timestamps before the file's first transition. Formerly, localtime.c sometimes inferred a different time type, in order to handle problematic data generated by zic 2018e or earlier. As it is now safe to assume more recent versions of zic, there is no longer a pressing need to fail to conform RFC 8536 section 3.2, which requires using time type 0 in this situation. This change does not affect behavior when reading TZif files generated by zic 2018f and later.
- POSIX.1-2024 removes asctime_r and ctime_r and does not let libraries define them, so remove them except when needed to conform to earlier POSIX. These functions are dangerous as they can overrun user buffers. If you still need them, add -DSUPPORT_POSIX2008 to CFLAGS.
- The SUPPORT_C89 option now defaults to 1 instead of 0, fixing a POSIX-conformance bug introduced in 2023a.
- tzselect now supports POSIX.1-2024 proleptic TZ strings. Also, it assumes POSIX.2-1992 or later, as practical porting targets now all support that, and it uses some features from POSIX.1-2024 if available.
Changes to build procedure
- 'make check' no longer requires curl and Internet access.
- The build procedure now assumes POSIX.2-1992 or later, to simplify maintenance. To build on Solaris 10, the only extant system still defaulting to pre-POSIX, prepend /usr/xpg4/bin to PATH.
Changes to documentation
- The documentation now reflects POSIX.1-2024.
Changes to commentary
- Commentary about historical transitions in Portugal and her former colonies has been expanded with links to relevant legislation. (Thanks to Tim Parenti.)