กลับไปหน้าบทความ

อ่าน 11 นาที

ฐานข้อมูล tz

ฐาน ข้อมูล tz เป็นการรวบรวมข้อมูลร่วมกันเกี่ยวกับ เขตเวลา ทั่วโลก และกฎเกณฑ์สำหรับการใช้ เวลาออมแสง โดยมีวัตถุประสงค์หลักเพื่อใช้กับโปรแกรมคอมพิวเตอร์และระบบปฏิบัติการ [ 2 ] Paul...

ฐานข้อมูล tz

ฐานข้อมูล tz แบ่งโลกออกเป็นภูมิภาคต่างๆ โดยที่นาฬิกาท้องถิ่นจะแสดงเวลาเดียวกัน แผนที่นี้สร้างขึ้นโดยการรวมรายการเขตเวลาของฐานข้อมูล tz เวอร์ชัน 2023d เข้ากับ ข้อมูล OpenStreetMapโดยใช้ซอฟต์แวร์โอเพนซอร์ส[ 1 ]

ฐานข้อมูล tzเป็นการรวบรวมข้อมูลร่วมกันเกี่ยวกับเขตเวลา ทั่วโลก และกฎเกณฑ์สำหรับการใช้เวลาออมแสงโดยมีวัตถุประสงค์หลักเพื่อใช้กับโปรแกรมคอมพิวเตอร์และระบบปฏิบัติการ[ 2 ] Paul Eggert เป็นบรรณาธิการและผู้ดูแลฐานข้อมูลนี้มาตั้งแต่ปี 2005 [ 3 ] โดยได้รับการสนับสนุนจากICANN [ 4 ]ฐานข้อมูล tz ยังเป็นที่รู้จักในชื่อtzdata , ฐานข้อมูล zoneinfoหรือฐานข้อมูลเขตเวลา IANA (ตั้งชื่อตามInternet Assigned Numbers Authority ) และบางครั้งก็เรียกว่าฐานข้อมูล Olsonซึ่งหมายถึงผู้ร่วมก่อตั้ง Arthur David Olson [ 5 ]

หลักเกณฑ์การตั้งชื่อที่เป็นมาตรฐานสำหรับรายการในฐานข้อมูล เช่นAmerica/New_YorkและEurope/Parisได้รับการออกแบบโดย Paul Eggert [ 6 ]ฐานข้อมูลนี้พยายามบันทึกเขตเวลาในอดีตและการเปลี่ยนแปลงทางพลเรือนทั้งหมดตั้งแต่ปี 1970 ซึ่งเป็นยุคเวลา Unix [ 7 ]นอกจากนี้ยังบันทึกวินาทีอธิกสุรทินด้วย[ 8 ]

ฐานข้อมูล รวมทั้งซอร์สโค้ด อ้างอิงบางส่วน อยู่ในโดเมนสาธารณะ[ 9 ]ฐานข้อมูลและโค้ดฉบับใหม่จะได้รับการเผยแพร่เมื่อมีการเปลี่ยนแปลงที่เหมาะสม โดยปกติจะเผยแพร่หลายครั้งต่อปี[ 10 ]

โครงสร้างข้อมูล

นิยามของเขตเวลา

ภายในฐานข้อมูล tz เขตเวลาคือภูมิภาคของประเทศใดๆ ที่นาฬิกาท้องถิ่นทั้งหมดตรงกันมาตั้งแต่ปี 1970 [ 11 ]คำจำกัดความนี้เกี่ยวข้องกับพื้นที่ทางภูมิศาสตร์ที่มีนาฬิกาท้องถิ่นที่สอดคล้องกันเป็นอันดับแรก เขตเวลาแตกต่างจากภูมิภาคที่มี ค่าชดเชย เวลามาตรฐาน เฉพาะ จาก UTCซึ่งมักเรียกว่า "เขตเวลา" ดังนั้น เขตเวลาแต่ละเขตที่กำหนดโดยฐานข้อมูล tz อาจใช้ค่าชดเชยหลายค่าจาก UTC เช่น ค่าชดเชยสำหรับเวลามาตรฐานและเวลาออมแสง[ 12 ]

รูปแบบไฟล์

ฐานข้อมูล tz ถูกเผยแพร่ในรูปแบบไฟล์ข้อความซึ่งแสดงรายการกฎและช่วงการเปลี่ยนโซนเวลาในรูปแบบที่มนุษย์อ่านได้ สำหรับการใช้งาน ไฟล์ข้อความเหล่านี้จะถูกคอมไพล์ เป็น ไฟล์ไบนารีที่ไม่ขึ้นกับแพลตฟอร์มจำนวนหนึ่งไฟล์ต่อโซนเวลา ซอร์สโค้ดอ้างอิงประกอบด้วยคอมไพเลอร์ที่เรียกว่าzic (zone information compiler) รวมถึงโค้ดสำหรับ อ่าน ไฟล์เหล่านั้นและใช้งานในAPI มาตรฐาน เช่นlocaltime()และmktime()

เขตเวลา

แต่ละเขตเวลาจะมี "บรรทัดเขตเวลา" อย่างน้อยหนึ่งบรรทัดในไฟล์ข้อความฐานข้อมูล tz บรรทัดเขตเวลาแรกสำหรับเขตเวลาจะระบุชื่อของเขตเวลา บรรทัดเขตเวลาถัดไปสำหรับเขตเวลานั้นจะเว้นชื่อไว้ว่างเปล่า ซึ่งแสดงว่าใช้กับเขตเวลาเดียวกันกับบรรทัดก่อนหน้า แต่ละบรรทัดเขตเวลาสำหรับเขตเวลาจะระบุช่วงวันที่และเวลา ค่าชดเชยเทียบกับ UTCสำหรับเวลามาตรฐาน ชื่อของชุดกฎที่ควบคุมเวลาออมแสง (หรือเครื่องหมายขีดกลางหากใช้เวลามาตรฐานเสมอ) รูปแบบตัวย่อของเขตเวลา และสำหรับทุกบรรทัดยกเว้นบรรทัดสุดท้าย วันที่และเวลาที่ช่วงวันที่และเวลาที่บรรทัดนั้นควบคุมสิ้นสุดลง

กฎเกี่ยวกับเวลาออมแสง (DST)

กฎสำหรับการปรับเวลาตามฤดูกาล (Daylight Saving Time)ถูกกำหนดไว้ในชุดกฎที่มีชื่อ โดยแต่ละชุดกฎจะมีบรรทัดกฎอย่างน้อยหนึ่งบรรทัดในไฟล์ข้อความ บรรทัดกฎประกอบด้วยชื่อของชุดกฎที่เกี่ยวข้อง ปีแรกที่กฎมีผลบังคับใช้ ปีสุดท้ายที่กฎมีผลบังคับใช้ (หรือ "only" หากมีผลบังคับใช้เพียงปีเดียว หรือ "max" หากเป็นกฎที่มีผลบังคับใช้ในปีนั้น) ประเภทของปีที่กฎมีผลบังคับใช้ ("-" หากมีผลบังคับใช้กับทุกปีในช่วงที่ระบุ ซึ่งโดยส่วนใหญ่จะเป็นเช่นนั้น มิฉะนั้นจะเป็นชื่อที่ใช้เป็นอาร์กิวเมนต์ในสคริปต์เพื่อระบุว่าปีนั้นเป็นประเภทที่ระบุหรือไม่) เดือนที่กฎมีผลบังคับใช้ วันที่กฎมีผลบังคับใช้ (ซึ่งอาจเป็นวันใดวันหนึ่งโดยเฉพาะหรือการระบุเช่น "วันอาทิตย์สุดท้ายของเดือน") เวลาที่กฎมีผลบังคับใช้ จำนวนเวลาที่จะเพิ่มให้กับค่าชดเชยไปยัง UTCเมื่อกฎมีผลบังคับใช้ และตัวอักษรที่จะใช้ในตัวย่อของเขตเวลา (ตัวอย่างเช่น "S" หากกฎควบคุมเวลามาตรฐาน และ "D" หากกฎควบคุมเวลาออมแสง)

ชื่อของเขตเวลา

เขตเวลาจะมีชื่อเฉพาะในรูปแบบ " พื้นที่ / สถานที่ " เช่น "America/New_York" นอกจากนี้ยังมีการเลือกใช้ชื่อภาษาอังกฤษหรือชื่อที่เทียบเท่า และละเว้นเครื่องหมายวรรคตอนและคำต่อท้ายทั่วไป ใช้เครื่องหมายขีดล่างแทนช่องว่าง และใช้เครื่องหมายยัติภังค์เมื่อปรากฏในชื่อสถานที่ ชื่อพื้นที่และสถานที่แต่ละชื่อมีความยาวสูงสุด 14 ตัวอักษร[ 13 ] [ 14 ]

พื้นที่

พื้นที่หมายถึงชื่อของทวีปมหาสมุทรหรือ" อื่น ๆ " ทวีปและมหาสมุทรที่ใช้ ได้แก่แอฟริกาอเมริกาแอนตาร์กติกาอาร์กติกเอเชียแอตแลนติกออสเตรเลียยุโรปอินเดียและแปซิฟิก

มหาสมุทรถูกรวมไว้ด้วย เนื่องจากบางเกาะเชื่อมต่อกับทวีปใดทวีปหนึ่งได้ยาก บางเกาะเชื่อมต่อกับทวีปหนึ่งทางภูมิศาสตร์ แต่เชื่อมต่อกับอีกทวีปหนึ่งทางการเมือง ดูเพิ่มเติมที่ ขอบเขตระหว่างทวีป

พื้นที่พิเศษ "Etc" ใช้สำหรับเขตการปกครองบางเขต โดยเฉพาะ "Etc/UTC" ซึ่งหมายถึงเวลาสากลเชิงพิกัด (Coordinated Universal Time ) เพื่อให้สอดคล้องกับ รูปแบบ POSIXชื่อเขตที่ขึ้นต้นด้วย "Etc/GMT" จะมีการสลับเครื่องหมายจากมาตรฐานISO 8601ในพื้นที่ "Etc" เขตที่อยู่ทางตะวันตกของ GMT จะมีเครื่องหมายบวก และเขตที่อยู่ทางตะวันออกจะมีเครื่องหมายลบในชื่อ (เช่น "Etc/GMT-14" คือเวลาเร็วกว่า GMT 14 ชั่วโมง)

ที่ตั้ง

สถานที่หมายถึง ชื่อของสถานที่เฉพาะเจาะจงภายในพื้นที่นั้น ๆ โดยปกติจะเป็นเมืองหรือเกาะเล็ก ๆ

โดยปกติแล้วชื่อประเทศจะไม่ถูกนำมาใช้ในแผนการนี้ เนื่องจากชื่อเหล่านั้นจะไม่มั่นคง เนื่องจากมีการเปลี่ยนแปลงทางการเมืองและเขตแดนบ่อยครั้ง ชื่อเมืองใหญ่ๆ มักจะมีความถาวรมากกว่า[ 15 ] โดยทั่วไปแล้วเมืองที่มีประชากรมากที่สุดในภูมิภาคจะถูกเลือกเพื่อเป็นตัวแทนของเขตเวลาทั้งหมด แม้ว่าอาจจะเลือกเมืองอื่นหากเป็นที่รู้จักกันอย่างกว้างขวางกว่า และอาจใช้สถานที่อื่น รวมถึงสถานที่ที่ไม่ใช่เมือง หากทำให้ชื่อมีความคลุมเครือน้อยลง[ 16 ]ในกรณีที่ชื่อของสถานที่ที่ใช้เป็นตัวแทนของเขตเวลาเปลี่ยนแปลงไป ธรรมเนียมปฏิบัติคือการสร้างชื่อแทน[ 17 ]ในฉบับต่อๆ ไป เพื่อให้ทั้งชื่อเก่าและชื่อใหม่หมายถึงรายการในฐานข้อมูลเดียวกัน

ในบางกรณีตำแหน่งที่ตั้งจะถูกแสดงเป็นชื่อผสม เช่น เขตเวลา "America/Indiana/Indianapolis" ชื่อสามระดับ ได้แก่ ชื่อที่อยู่ภายใต้ "America/Argentina/...", "America/Kentucky/...", "America/Indiana/..." และ "America/North_Dakota/..."

ตำแหน่งที่เลือกเป็นตัวแทนของพื้นที่ทั้งหมด กล่าวคือ เวลาปัจจุบัน ณ ตำแหน่งนั้นจะตรงกับเวลาปัจจุบันในเขตเวลาทั้งหมด อย่างไรก็ตาม ข้อนี้อาจไม่เป็นจริงเสมอไปสำหรับช่วงเวลาก่อนปี 1970 กล่าวคือ กฎเขตเวลาจะรับประกันว่าถูกต้องสำหรับตำแหน่งที่ระบุ เฉพาะ ในช่วงเวลาก่อนปี 1970 เท่านั้น หากมีความแตกต่างของเวลาภายในพื้นที่ก่อนปี 1970 กฎเขตเวลาจะใช้ได้เฉพาะในตำแหน่งที่ระบุในช่วงเวลานั้นเท่านั้น

ตัวอย่าง

ชื่อ คำอธิบาย
อเมริกา/คอสตาริกาใช้ชื่อประเทศเนื่องจากชื่อเมืองที่ใหญ่ที่สุด (และเมืองหลวง) ซานโฮเซ่มีความกำกวม
อเมริกา/นิวยอร์กช่องว่างถูกแทนที่ด้วยขีดล่าง
เอเชีย/โกลกาตาใช้ ชื่อเมืองโกลกาตาเนื่องจากเป็นเมืองที่มีประชากรมากที่สุดในเขตในขณะที่เขตดังกล่าวถูกจัดตั้งขึ้น[ 18 ]
เอเชีย/ซาคาลินมีการใช้ชื่อเกาะนี้ เนื่องจากเมืองที่ใหญ่ที่สุดคือยูซโน-ซาคาลินสค์มีตัวอักษรมากกว่า 14 ตัว
อเมริกา/บาเฮีย_บันเดรัสลบคำว่า "de" ออกจากBahia de Banderasเนื่องจากชื่อที่ถูกต้องมีมากกว่า 14 ตัวอักษร
แอนตาร์กติกา/ดูมอนต์-เดอร์วิลล์เครื่องหมายอะพอสโทรฟีถูกลบออก โดยปกติแล้วช่องว่างจะถูกแทนที่ด้วย "_" แต่ชื่อจะยาวเกิน 14 ตัวอักษร

ตัวอย่างเขตพื้นที่และเส้นแบ่งเขต

นี่คือเส้นแสดงกฎเกณฑ์สำหรับการปรับเวลาตามฤดูกาลมาตรฐานของสหรัฐอเมริกา เส้นแสดงกฎเกณฑ์สำหรับการปรับเวลาตามฤดูกาลที่ใช้ในเขตเวลาตะวันออก ของสหรัฐอเมริกา (เรียกว่า "NYC" เนื่องจากนครนิวยอร์กเป็นเมืองที่แสดงถึงเขตเวลานั้น) ในบางปี และเส้นแสดงเขตเวลาสำหรับเขตเวลา America/New_York ตามเวอร์ชันtzdata2011nของฐานข้อมูลเขตเวลา เส้นแสดงเขตเวลาและเส้นแสดงกฎเกณฑ์เหล่านี้สะท้อนถึง ประวัติการปรับเวลาตามฤดูกาล ใน สหรัฐอเมริกา

# ชื่อกฎ จาก ถึง พิมพ์ใน เมื่อ บันทึก ตัวอักษร/ตัวสะกด กฎของสหรัฐอเมริกา 1918-1919 - มีนาคม วันอาทิตย์สุดท้าย 2:00 1:00 น. กฎของสหรัฐอเมริกา 1918-1919 - ต.ค. วันอาทิตย์ที่แล้ว 2:00 น. 0 S กฎ US 1942 เท่านั้น - 9 ก.พ. 2:00 1:00 W # สงคราม กฎของสหรัฐอเมริกาปี 1945 เท่านั้น - 14 ส.ค. 23:00 - 13:00 น. #สันติภาพ กฎของสหรัฐอเมริกาปี 1945 เท่านั้น - 30 ก.ย. 2:00 0 S กฎของสหรัฐอเมริกา ค.ศ. 1967 2006 - ต.ค. วันอาทิตย์ที่แล้ว 2:00 น. กฎของสหรัฐอเมริกา 1967-1973 - เม.ย. วันอาทิตย์ที่แล้ว 2:00-1:00 น. กฎของสหรัฐอเมริกาปี 1974 เท่านั้น - 6 ม.ค. 2:00 - 1:00 น. กฎของสหรัฐอเมริกาปี 1975 เท่านั้น - 23 ก.พ. 2:00 - 1:00 น. กฎของสหรัฐอเมริกา 1976-1986 - เม.ย. วันอาทิตย์ที่แล้ว 2:00-1:00 น. กฎของสหรัฐอเมริกา 1987-2006 - เม.ย. อาทิตย์>=1 2:00 1:00 น. กฎของสหรัฐอเมริกา ปี 2007 สูงสุด - มี.ค. อาทิตย์>=8 2:00 1:00 ด. กฎของสหรัฐอเมริกา 2007 สูงสุด - พฤศจิกายน อาทิตย์>=1 2:00 0 S .... # ชื่อกฎ จาก ถึง พิมพ์ใน เมื่อ บันทึก ตัวอักษร กฎของนิวยอร์กซิตี้ ปี 1920 เท่านั้น - วันอาทิตย์สุดท้ายของเดือนมีนาคม เวลา 14:00 - 13:00 น. กฎของนิวยอร์กซิตี้ ปี 1920 เท่านั้น - วันอาทิตย์สุดท้ายของเดือนตุลาคม เวลา 2:00 น. กฎของนิวยอร์กซิตี้ 1921-1966 - เม.ย. วันอาทิตย์ที่แล้ว 2:00-1:00 น. กฎของนิวยอร์กซิตี้ 1921-1954 - อาทิตย์สุดท้าย 2:00 0 S กฎของนิวยอร์กซิตี้ 1955-1966 - ต.ค. วันอาทิตย์สุดท้าย 2:00 น. # ชื่อโซน GMTOFF รูปแบบกฎ [จนถึง] เขต America/New_York -4:56:02 - LMT 1883 18 พฤศจิกายน 12:03:58 -5:00 น. ตามเวลาภาคตะวันออกของสหรัฐอเมริกา ปี 1920 -5:00 น. ตามเวลาภาคตะวันออกของนิวยอร์ก ปี 1942 -5:00 น. ตามเวลาภาคตะวันออกของสหรัฐอเมริกา ปี 1946 -5:00 น. ตามเวลาภาคตะวันออกของนิวยอร์ก ปี 1967 -5:00 น. ตามเวลาภาคตะวันออกของสหรัฐอเมริกา 

ข้อมูลที่จัดเก็บไว้สำหรับแต่ละโซน

สำหรับเขตเวลาแต่ละเขตที่มีค่าชดเชยหลายค่า (โดยปกติเกิดจากเวลาออมแสง) ฐานข้อมูล tz จะบันทึกช่วงเวลาที่แน่นอนของการเปลี่ยนผ่าน รูปแบบนี้สามารถรองรับการเปลี่ยนแปลงวันที่และเวลาของการเปลี่ยนผ่านได้เช่นกัน เขตเวลาอาจมีการเปลี่ยนแปลงกฎเกณฑ์ในอดีตย้อนหลังไปหลายทศวรรษ (ดังแสดงในตัวอย่างข้างต้น)

โซนแท็บ

ไฟล์zone.tabเป็นไฟล์สาธารณะและแสดงรายการโซนต่างๆ รายละเอียดเกี่ยวกับการเรียงลำดับคอลัมน์และแถวอธิบายไว้ในส่วนความคิดเห็นของไฟล์ ดังนี้:

# ไฟล์นี้ประกอบด้วยตารางที่มีคอลัมน์ดังต่อไปนี้: # 1. รหัสประเทศ 2 ตัวอักษรตามมาตรฐาน ISO 3166ดูไฟล์ `iso3166.tab` # 2. ละติจูดและลองจิจูดของที่ตั้งหลักของโซน # ใน รูปแบบ ISO 6709เครื่องหมาย-องศา-นาที-วินาที # เลือกอย่างใดอย่างหนึ่งระหว่าง +-DDMM+-DDDMM หรือ +-DDMMSS+-DDDMMSS # เริ่มจากละติจูด (+ คือทิศเหนือ) แล้วตามด้วยลองจิจูด (+ คือทิศตะวันออก) # 3. ชื่อโซนที่ใช้ในค่าของตัวแปรสภาพแวดล้อม TZ # 4. ความคิดเห็น; จะแสดงก็ต่อเมื่อประเทศนั้นมีหลายแถวเท่านั้น # # คอลัมน์ต่างๆ คั่นด้วยแท็บเดียว # ตารางนี้เรียงลำดับตามประเทศก่อน จากนั้นจึงเรียงลำดับตามความสำคัญภายในประเทศนั้นๆ # (1) สมเหตุสมผลในเชิงภูมิศาสตร์ และ # (2) จัดให้โซนที่มีประชากรมากที่สุดอยู่ก่อน ซึ่งไม่ขัดแย้งกับ (1) 

ข้อมูลก่อนปี 1970

ข้อมูลก่อนปี 1970 มีจุดประสงค์เพื่อให้ถูกต้องสำหรับเมืองที่ระบุภูมิภาค แต่ไม่จำเป็นต้องถูกต้องสำหรับทั้งภูมิภาค เนื่องจากมีการสร้างภูมิภาคใหม่เฉพาะเมื่อจำเป็นเพื่อแยกแยะนาฬิกาตั้งแต่ปี 1970 เป็นต้นมา

ตัวอย่างเช่น ระหว่างวันที่ 23 ตุลาคมถึง 9 ธันวาคม พ.ศ. 2506 ในบราซิล มีเพียงรัฐเอสปิริโต ซาน โตกัวนาบารามินาสเจไรส์ริโอเดจาเนโรและเซาเปาโล เท่านั้น ที่ใช้เวลาฤดูร้อน[ 19 ]อย่างไรก็ตาม คำขอแยกจากAmerica/Sao_Pauloถูกปฏิเสธในปี พ.ศ. 2553 โดยให้เหตุผลว่าตั้งแต่ปี พ.ศ. 2513 เวลาในภูมิภาคทั้งหมดเหมือนกัน[ 20 ]

เวลาในเยอรมนีซึ่งแสดงโดยยุโรป/เบอร์ลินไม่ถูกต้องสำหรับปี พ.ศ. 2488 เมื่อเขตไตรโซนใช้กฎเวลาออมแสงที่แตกต่างจากเบอร์ลิน[ 21 ]

ความคุ้มครอง

เขตพื้นที่ครอบคลุมหลายประเทศหลังปี 1970

มีสองโซนที่ครอบคลุมพื้นที่ซึ่งเคยอยู่ภายใต้การปกครองของสองประเทศหลังปี 1970 ฐานข้อมูลนี้ใช้คำจำกัดความของประเทศตามมาตรฐาน ISO 3166-1ซึ่งมาตรฐาน ISO 3166 รุ่นก่อนหน้าได้รับการเผยแพร่ครั้งแรกในปี 1974

การซ่อมบำรุง

รหัสอ้างอิงและฐานข้อมูล tz นั้นได้รับการดูแลโดยกลุ่มอาสาสมัคร โดย Arthur David Olson เป็นผู้ทำการเปลี่ยนแปลงรหัสอ้างอิง tz ส่วนใหญ่ และ Paul Eggert เป็นผู้ทำการเปลี่ยนแปลงฐานข้อมูล tz ส่วนใหญ่ การเปลี่ยนแปลงที่เสนอจะถูกส่งไปยังรายชื่อผู้รับจดหมาย tz ซึ่งเชื่อมต่อไปยังกลุ่มข่าว Usenet comp.time.tz ไฟล์ต้นฉบับจะถูกแจกจ่ายผ่านเซิร์ฟเวอร์ FTP ของ IANA โดยทั่วไปแล้ว ไฟล์เหล่านี้จะถูกนำไปใช้โดยผู้จัดจำหน่ายซอฟต์แวร์ เช่นDebianคอมไพล์ จากนั้นจึงบรรจุซอร์สโค้ดและไบนารีเป็นส่วนหนึ่งของการแจกจ่ายนั้น ผู้ใช้ปลายทางสามารถพึ่งพาขั้นตอนการอัปเดตของซอฟต์แวร์ที่ตนแจกจ่าย ซึ่งอาจมีความล่าช้า หรือรับซอร์สโค้ดโดยตรงและสร้างไฟล์ไบนารีด้วยตนเองIETFได้เผยแพร่RFC  6557 "ขั้นตอนการบำรุงรักษาฐานข้อมูลเขตเวลา" ซึ่งบันทึกแนวทางปฏิบัติที่ดีที่สุดโดยอิงจากหลักการที่คล้ายคลึงกัน

ระบบคล้ายยูนิกซ์

เส้นทางมาตรฐานสำหรับฐานข้อมูลเขตเวลาคือ/usr/share/zoneinfo/ในระบบปฏิบัติการ Linux, macOSและระบบ ที่คล้าย Unix อื่นๆ บางระบบ

การใช้งานและส่วนขยาย

ขอบเขตของเขตเวลา

ขอบเขตทางภูมิศาสตร์ในรูปแบบของชุดพิกัดไม่ได้เป็นส่วนหนึ่งของฐานข้อมูล tz แต่ขอบเขตดังกล่าวได้รับการเผยแพร่โดย Evan Siroky [ 1 ]ในรูปแบบ GeoJSONและshapefile

ใช้ในมาตรฐานอื่นๆ

Unicode Common Locale Data Repository (CLDR) อ้างอิงถึงโซนในฐานข้อมูล tz อย่างไรก็ตาม เนื่องจากชื่อของโซนอาจเปลี่ยนแปลงไปในแต่ละเวอร์ชันของฐานข้อมูล tz CLDR จึงกำหนดUN/LOCODEสำหรับเมืองที่ใช้ในชื่อของโซน หรือรหัสที่กำหนดภายในหากไม่มีเมืองดังกล่าวสำหรับโซนนั้น ให้กับโซน tzdb [ 22 ] [ 23 ]

ใช้ในระบบซอฟต์แวร์

ฐานข้อมูล tz ใช้สำหรับการประมวลผลและการแปลงเขตเวลาในระบบซอฟต์แวร์คอมพิวเตอร์หลายระบบ รวมถึง:

  • ระบบที่พัฒนามาจาก BSDได้แก่FreeBSD , NetBSD , OpenBSD , DragonFly BSD , macOSและiOS (ระบบเหล่านี้ยังใช้โค้ดประมวลผลฐานข้อมูล TZ เป็นแบบอ้างอิงในการใช้งาน TZ POSIX API ด้วย)
  • ไลบรารีGNU Cและระบบที่ใช้ไลบรารีนี้ รวมถึงGNU , ระบบปฏิบัติการลินุกซ์ ส่วนใหญ่ , BeOS , Haiku , Nexenta OSและCygwin ;
  • ระบบที่พัฒนามาจาก System V Release 4เช่นSolarisและUnixWare ;
  • AIX 6.1 และเวอร์ชันต่อมา[ 24 ] [ 25 ] (เวอร์ชันก่อนหน้าของ AIX เริ่มต้นด้วย AIX 5.2 รวม zoneinfo [ 26 ] เพื่อรองรับแอปพลิเคชันของบุคคล ที่สาม เช่นMySQL [ 27 ]แต่ไม่ได้ใช้เอง[ 26 ] [ 28 ] )
  • แอนดรอยด์[ 29 ]
  • ระบบ Unixอื่นๆ อีกหลายระบบ รวมถึงIRIX , Tru64 , SunOS 4.x, [ 30 ]และUNICOS /mp;
  • OpenVMS ;
  • Java Runtime Environmentตั้งแต่เวอร์ชัน 1.8 (2014) ดูที่java.time.ZoneId
  • โมดูลPerl DateTime ::TimeZoneและDateTime::LeapSecondตั้งแต่ปี 2003;
  • การเผยแพร่ PHPตั้งแต่เวอร์ชัน 5.1.0 (ปี 2005);
  • อัญมณีทับทิมTZInfo ;
  • โมดูลzoneinfoจากไลบรารีมาตรฐานของ Python , แพ็กเกจ tzdataจากผู้พัฒนาหลักและแพ็ก เกจ pytz จากผู้พัฒนาภายนอก
  • ข้อกำหนด ภาษาJavaScriptสำหรับการทำให้เป็นสากลระบุการใช้ชื่อเขตเวลา IANA สำหรับ API อย่างชัดเจน และแนะนำให้ใช้ข้อมูลเขตเวลาด้วยเช่นกัน[ 31 ]
    • นอกจากนี้ยังมีไลบรารีอีกมากมายให้เลือกใช้ ได้แก่timezone-js , BigEasy/TimeZone , WallTime-jsและmoment-timezone ;
  • โมดูล Pandas (Python) pandas – ไลบรารีวิเคราะห์ข้อมูล Python ;
  • ไลบรารี.NET Framework ได้แก่ NodaTime , TZ4Net และ zoneinfo ถูกเก็บถาวรเมื่อวันที่ 24 ธันวาคม 2017 ที่Wayback Machine
  • ไลบรารีHaskell timezone -seriesและtimezone-olson ;
  • โมดูลErlang ezic ;​
  • แพ็ก เก จเวลาของไลบรารีมาตรฐานGo ;
  • กล่องRust crate chrono-tz ;
  • แพ็ก เก จเวลาSqueak Smalltalk ;
  • ไลบรารีC++ BoostและQtรวมถึงไลบรารีมาตรฐาน chrono ของC++20std::chrono::tzdb ;
  • ไลบรารีDelphiและFree Pascal TZDB ; [ 32 ]
  • ไลบรารีPascalฟรีPascalTZ ;
  • ภาษาคำสั่งเครื่องมือมีคำสั่งเกี่ยวกับนาฬิกาโดยใช้ tzdata;
  • Oracleออกเวอร์ชันตั้งแต่ 10g (2004); [ 33 ]
  • PostgreSQLตั้งแต่เวอร์ชัน 8.0 (ปี 2005)
  • ไลบรารีMicrosoft SQL Server การสนับสนุนเขตเวลาของ SQL Server
  • MongoDBตั้งแต่เวอร์ชัน 3.6 เป็นต้นมา;
  • แพ็ก เก จ Dart/Flutter Timezone ใน pub ;
  • ซอฟต์แวร์ฝังตัว เช่น เฟิร์มแวร์ที่ใช้ในนาฬิกา IP

รหัสโซนเวลาของ Olson ยังถูกใช้โดย Unicode Common Locale Data Repository (CLDR) และInternational Components for Unicode (ICU) ด้วย ตัวอย่างเช่น ตาราง CLDR Windows–Tzid จะแมปรหัสโซนเวลาของ Microsoft Windows กับชื่อ Olson มาตรฐาน แม้ว่าการแมปดังกล่าวจะไม่สมบูรณ์แบบ เนื่องจากจำนวนโซนเวลาในระบบ Windows น้อยกว่าในฐานข้อมูล IANA TZ อย่างมาก[ 34 ]

ประวัติศาสตร์

จุดเริ่มต้นของโครงการนี้ย้อนกลับไปถึงปี 1986 หรือก่อนหน้านั้น[ 35 ]

คดีความปี 2011

เมื่อวันที่ 30 กันยายน 2554 มีการฟ้องร้องคดีAstrolabe, Inc. v. Olson et al. เกี่ยวกับ ลิขสิทธิ์ในฐานข้อมูล[ 36 ] [ 37 ] ส่งผลให้เมื่อวันที่ 6 ตุลาคม 2554 รายชื่อผู้รับจดหมายและ เว็บไซต์ FTP ของฐานข้อมูล ถูกปิดลง[ 38 ] คดีนี้เกี่ยวข้องกับการที่ผู้ดูแลฐานข้อมูลใช้The American AtlasโดยThomas G. ShanksและThe International Atlasโดย Thomas G. Shanks และ Rique Pottenger โดยกล่าวหาว่ามีการทำสำเนาข้อมูลแผนที่โดยไม่ได้รับอนุญาตในคลังข้อมูลรายชื่อผู้รับจดหมายเขตเวลาและในชุดลิงก์เสริมบางส่วนที่ดูแลฐานข้อมูล แม้ว่าจะไม่ได้ชี้ไปที่ฐานข้อมูลโดยตรงก็ตาม ข้อร้องเรียนเกี่ยวข้องกับการรวบรวมข้อมูลเขตเวลาในอดีตเท่านั้น และไม่ครอบคลุมตารางเขตเวลาโลก tzdata ที่มีอยู่[ 37 ] [ 39 ] [ 40 ]

คดีความนี้ได้รับการยุติลงเมื่อวันที่ 22 กุมภาพันธ์ 2555 หลังจากการมีส่วนร่วมของElectronic Frontier Foundationเมื่อ Astrolabe ยื่นคำร้องขอถอนฟ้อง โดยสมัครใจ โดยไม่เคยส่ง หมายเรียกไปยัง จำเลย และตกลงตามข้อตกลงว่าจะไม่ฟ้องร้องในอนาคต[ 41 ]

ย้ายไปที่ ICANN

ICANNรับผิดชอบการบำรุงรักษาฐานข้อมูลเมื่อวันที่ 14 ตุลาคม 2554 [ 4 ] ฐานข้อมูลทั้งหมดและคำอธิบายแผนการบำรุงรักษาสามารถดูได้ทางออนไลน์จากIANA [ 42 ]

ดูเพิ่มเติม

ทั่วไป

  • ระยะเวลาตามกฎหมาย (PDF) , ITU, 2015.
  • หน้าหลักฐานข้อมูล tzของ UCLA(เลิกใช้แล้ว โปรดดูแหล่งข้อมูลอย่างเป็นทางการของ IANA ด้านล่าง)
  • คลังจดหมายข่าว tzที่ IANA
  • รายชื่อผู้รับจดหมาย tz ที่ IANA
  • "บทวิเคราะห์เชิงวรรณกรรมเกี่ยวกับฐานข้อมูล Olson/Zoneinfo/tz"โดยJon Udell

แหล่งข่าวอย่างเป็นทางการจาก IANA

  • หน้าหลัก
  • เอฟทีพี
  • rsyncที่ rsync://rsync.iana.org/tz/

หน้าคู่มือ

  • zic(8) –  คู่มือ การบริหาร ระบบ Linuxและคำสั่งพิเศษ(แสดงไวยากรณ์ของไฟล์ต้นฉบับสำหรับฐานข้อมูล tz)
  • tzfile(5) –  คู่มือรูปแบบไฟล์Linux (อธิบายรูปแบบของไฟล์ฐานข้อมูล tz ที่คอมไพล์แล้ว)
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Tz_database&oldid=1360545812 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ฐานข้อมูล tz

ฐาน ข้อมูล tz เป็นการรวบรวมข้อมูลร่วมกันเกี่ยวกับ เขตเวลา ทั่วโลก และกฎเกณฑ์สำหรับการใช้ เวลาออมแสง โดยมีวัตถุประสงค์หลักเพื่อใช้กับโปรแกรมคอมพิวเตอร์และระบบปฏิบัติการ [ 2 ] Paul...

นิยามของเขตเวลา

ภายในฐานข้อมูล tz เขตเวลา คือภูมิภาคของประเทศใดๆ ที่นาฬิกาท้องถิ่นทั้งหมดตรงกันมาตั้งแต่ปี 1970 [ 11 ] คำจำกัดความนี้เกี่ยวข้องกับพื้นที่ทางภูมิศาสตร์ที่มีนาฬิกาท้องถิ่นที่สอดคล้องกันเป็นอันดับแรก เขตเวลาแตกต่างจากภูมิภาคที่มี ค่าชดเชย เวลามาตรฐาน เฉพาะ จาก...

รูปแบบไฟล์

ฐานข้อมูล tz ถูกเผยแพร่ในรูปแบบ ไฟล์ข้อความ ซึ่งแสดงรายการกฎและช่วงการเปลี่ยนโซนเวลาในรูปแบบที่มนุษย์อ่านได้ สำหรับการใช้งาน ไฟล์ข้อความเหล่านี้จะ ถูกคอมไพล์ เป็น ไฟล์ไบนารี ที่ไม่ขึ้นกับแพลตฟอร์มจำนวนหนึ่งไฟล์ต่อโซนเวลา...

เขตเวลา

แต่ละเขตเวลาจะมี "บรรทัดเขตเวลา" อย่างน้อยหนึ่งบรรทัดในไฟล์ข้อความฐานข้อมูล tz บรรทัดเขตเวลาแรกสำหรับเขตเวลาจะระบุชื่อของเขตเวลา บรรทัดเขตเวลาถัดไปสำหรับเขตเวลานั้นจะเว้นชื่อไว้ว่างเปล่า ซึ่งแสดงว่าใช้กับเขตเวลาเดียวกันกับบรรทัดก่อนหน้า...