เขตเวลาคืออะไร? การทำงานของ Time Zone, UTC, GMT, DST และฐานข้อมูล IANA
เขตเวลาดูเหมือนเรื่องง่าย จนกว่าคุณจะต้องใช้งานจริง ตั้งแต่ค่า offset ของ UTC การเปลี่ยนเวลาออมแสง เส้นแบ่งวันที่สากล ไปจนถึงเขตเวลาที่ต่างกันครึ่งชั่วโมง บทความนี้สรุปสิ่งสำคัญเกี่ยวกับวิธีที่โลกกำหนดเวลา
สารบัญ
เขตเวลาคืออะไร?
เขตเวลา คือพื้นที่บนโลกที่ใช้เวลามาตรฐานเดียวกัน โลกแบ่งออกเป็น 24 เขตเวลาหลัก โดยคร่าว ๆ แต่ละเขตกว้างประมาณ 15 องศาลองจิจูด ซึ่งเทียบได้กับความต่างของเวลา 1 ชั่วโมง
แต่ในการใช้งานจริง เส้นแบ่งเขตเวลาไม่ได้ลากตรงตามลองจิจูดเสมอไป เส้นเหล่านี้มักเลี้ยวไปตามพรมแดนทางการเมือง แนวชายฝั่ง และการตัดสินใจของแต่ละประเทศหรือดินแดน นั่นคือเหตุผลที่ปัจจุบันมี ค่า UTC offset มากกว่า 38 แบบ รวมถึงแบบครึ่งชั่วโมงและหนึ่งในสี่ชั่วโมง
ทุกเขตเวลานิยามจาก ค่าความต่างจาก Coordinated Universal Time (UTC) เช่น นิวยอร์กอยู่ที่ UTC-5 ในฤดูหนาว และ UTC-4 ในช่วงเวลาออมแสง ส่วนโตเกียวใช้ UTC+9 ตลอดปี
ประวัติโดยย่อของเขตเวลา
ก่อนมีเขตเวลา เมืองต่าง ๆ ตั้งนาฬิกาตาม เวลาเที่ยงสุริยะท้องถิ่น ซึ่งคือช่วงที่ดวงอาทิตย์อยู่สูงที่สุดในท้องฟ้า เมืองที่อยู่ห่างไปทางตะวันตก 50 ไมล์อาจมีเวลา "เที่ยง" ต่างกันไม่กี่นาที เรื่องนี้ยังพอใช้ได้เมื่อการเดินทางช้า แต่เมื่อมี รถไฟและโทรเลข ในศตวรรษที่ 19 ความต่างเล็ก ๆ เหล่านี้กลายเป็นความวุ่นวาย
เหตุการณ์สำคัญ
| ปี | เหตุการณ์ |
|---|---|
| 1847 | การรถไฟอังกฤษนำ Greenwich Mean Time (GMT) มาใช้เป็น "เวลารถไฟ" |
| 1876 | เซอร์แซนด์ฟอร์ด เฟลมมิง เสนอแนวคิดเขตเวลามาตรฐานทั่วโลก หลังพลาดรถไฟในไอร์แลนด์ |
| 1883 | การรถไฟในอเมริกาเหนือนำเขตเวลามาตรฐาน 4 เขตมาใช้ |
| 1884 | การประชุม International Meridian Conference ที่วอชิงตัน ดี.ซี. กำหนดเส้นเมริเดียนหลักที่กรีนิชและระบบเขตเวลา 24 ชั่วโมง |
| 1918 | สภาคองเกรสสหรัฐฯ ผ่าน Standard Time Act เพื่อรับรองเขตเวลาและ DST ทางกฎหมาย |
| 1972 | Coordinated Universal Time (UTC) กลายเป็นมาตรฐานเวลาของโลก และแทนที่ GMT ในการใช้งานทางการ |
UTC กับ GMT ต่างกันอย่างไร?
หลายคนใช้ UTC และ GMT แทนกัน แต่จริง ๆ แล้วไม่เหมือนกันทั้งหมด:
| หัวข้อ | GMT | UTC |
|---|---|---|
| ชื่อเต็ม | Greenwich Mean Time | Coordinated Universal Time |
| อ้างอิงจาก | การหมุนของโลก (เชิงดาราศาสตร์) | นาฬิกาอะตอม (แม่นยำสูง) |
| ความแม่นยำ | คลาดเคลื่อนเล็กน้อยได้ เพราะการหมุนของโลกไม่สม่ำเสมอ | แม่นยำระดับอะตอม และปรับด้วย leap seconds |
| สถานะ | ยังใช้เป็นเขตเวลา เช่น สหราชอาณาจักรในฤดูหนาว | มาตรฐานเวลาหลักของโลก |
| ใช้ DST หรือไม่ | ไม่ใช้โดยตรง เพราะสหราชอาณาจักรเปลี่ยนเป็น BST ในฤดูร้อน | ไม่ใช้เลย UTC ไม่มี DST |
สำหรับงานคอมพิวเตอร์และการใช้งานทั่วไปส่วนใหญ่ UTC และ GMT คือเวลาเดียวกัน ความต่างอยู่ที่วิธีวัดเวลา UTC ใช้นาฬิกาอะตอมและบางครั้งเพิ่ม leap seconds เพื่อให้สอดคล้องกับการหมุนจริงของโลก
ตัวย่อ "UTC" เป็นชื่อที่ตกลงร่วมกัน ฝั่งภาษาอังกฤษอยากใช้ "CUT" จาก Coordinated Universal Time ส่วนฝั่งภาษาฝรั่งเศสอยากใช้ "TUC" จาก Temps Universel Coordonne สุดท้ายจึงตกลงใช้ UTC
ค่า UTC Offset ทำงานอย่างไร
ทุกเขตเวลาแสดงเป็น ค่าความต่างจาก UTC โดยใช้รูปแบบ UTC+/-HH:MM:
- ค่า offset บวก (
UTC+) อยู่ทาง ตะวันออก ของกรีนิช จึงเร็วกว่า - ค่า offset ลบ (
UTC-) อยู่ทาง ตะวันตก ของกรีนิช จึงช้ากว่า - UTC+0 คือบริเวณเส้นเมริเดียนหลัก
เมื่อต้องแปลงเวลาระหว่างสองเขตเวลา ให้หาผลต่างระหว่างค่า offset เช่น แปลงจาก UTC+9 (โตเกียว) ไปเป็น UTC-5 (นิวยอร์ก EST):
ผลต่าง = (-5) - (+9) = -14 ชั่วโมง
ถ้าโตเกียวเป็นเวลา 15:00:
15:00 - 14 ชั่วโมง = 01:00 (วันเดียวกัน, นิวยอร์ก)
หรือคิดเป็นลำดับได้ว่า:
15:00 โตเกียว -> 06:00 UTC -> 01:00 นิวยอร์กเขตเวลาหลักทั่วโลก
ตัวอย่างเขตเวลาที่ถูกอ้างถึงบ่อย:
| ตัวย่อ | ชื่อ | Offset | เมืองหลัก |
|---|---|---|---|
| UTC | เวลาสากลเชิงพิกัด | +0:00 | เรคยาวิก, อักกรา |
| EST/EDT | เวลาฝั่งตะวันออก | -5:00 / -4:00 | นิวยอร์ก, โทรอนโต, ไมอามี |
| CST/CDT | เวลาภาคกลาง | -6:00 / -5:00 | ชิคาโก, ฮิวสตัน, เม็กซิโกซิตี |
| PST/PDT | เวลาแปซิฟิก | -8:00 / -7:00 | ลอสแอนเจลิส, ซีแอตเทิล, แวนคูเวอร์ |
| CET/CEST | เวลายุโรปกลาง | +1:00 / +2:00 | เบอร์ลิน, ปารีส, โรม |
| IST | เวลามาตรฐานอินเดีย | +5:30 | มุมไบ, เดลี, บังกาลอร์ |
| CST | เวลามาตรฐานจีน | +8:00 | ปักกิ่ง, เซี่ยงไฮ้, ไทเป |
| JST | เวลามาตรฐานญี่ปุ่น | +9:00 | โตเกียว, โอซาก้า, โซล (KST) |
| AEST/AEDT | เวลาฝั่งตะวันออกของออสเตรเลีย | +10:00 / +11:00 | ซิดนีย์, เมลเบิร์น |
โปรดสังเกตว่าตัวย่ออย่าง CST อาจกำกวมได้ เพราะอาจหมายถึง Central Standard Time (UTC-6), China Standard Time (UTC+8) หรือ Cuba Standard Time (UTC-5) ด้วยเหตุนี้นักพัฒนาจึงควรใช้ ชื่อแบบ IANA เช่น America/Chicago แทน
เวลาออมแสง (DST)
เวลาออมแสง หรือ Daylight Saving Time คือการปรับนาฬิกาให้เร็วขึ้น 1 ชั่วโมงในเดือนที่อากาศอบอุ่น เพื่อให้มีแสงช่วงเย็นนานขึ้น และเป็นหนึ่งในสาเหตุใหญ่ที่สุดที่ทำให้การจัดการเขตเวลาสับสน
DST ทำงานอย่างไร
- Spring forward - นาฬิกาถูกเลื่อนไปข้างหน้า 1 ชั่วโมง เช่น 02:00 กลายเป็น 03:00 ทำให้เวลาหนึ่งชั่วโมง "หายไป"
- Fall back - นาฬิกาถูกเลื่อนกลับ 1 ชั่วโมง เช่น 02:00 กลายเป็น 01:00 ทำให้เวลาหนึ่งชั่วโมง "เกิดซ้ำ"
ในช่วง "fall back" เวลาอย่าง 01:30 จึงเกิดขึ้น สองครั้ง ครั้งแรกในเวลาออมแสง และอีกครั้งในเวลามาตรฐาน เรื่องนี้ทำให้ระบบนัดหมายและฐานข้อมูลจัดการยากมาก
ใครใช้ DST บ้าง?
มีประมาณ 70 ประเทศ ที่ใช้ DST โดยส่วนใหญ่อยู่ในอเมริกาเหนือและยุโรป อย่างไรก็ตาม หลายประเทศและภูมิภาคเลือกไม่ใช้:
- ไม่ใช้ DST: เอเชีย แอฟริกา และอเมริกาใต้ส่วนใหญ่; แอริโซนา (ยกเว้น Navajo Nation), ฮาวาย, อินเดียส่วนใหญ่, จีน, ญี่ปุ่น
- ใช้ DST: สหรัฐอเมริกาและแคนาดาส่วนใหญ่, ยุโรปส่วนใหญ่, บางส่วนของออสเตรเลีย, นิวซีแลนด์
- ฤดูกาลกลับด้าน: ประเทศในซีกโลกใต้ที่ใช้ DST เช่น ออสเตรเลีย นิวซีแลนด์ และบางส่วนของบราซิล จะปรับเวลาใน คนละเดือน กับซีกโลกเหนือ
ข้อถกเถียง
แนวคิด DST ถูกเสนอครั้งแรกโดยเบนจามิน แฟรงคลินในปี 1784 แบบกึ่งล้อเล่น และถูกนำมาใช้อย่างแพร่หลายในช่วงสงครามโลกครั้งที่ 1 เพื่อประหยัดเชื้อเพลิง ปัจจุบัน DST ยังเป็นประเด็นถกเถียงมากขึ้น งานศึกษาบางส่วนเชื่อมโยงการเปลี่ยนเวลาในฤดูใบไม้ผลิกับการเพิ่มขึ้นของ ภาวะหัวใจวาย อุบัติเหตุทางรถยนต์ และการบาดเจ็บในที่ทำงาน ในช่วงไม่กี่วันหลังเปลี่ยนเวลา สหภาพยุโรปลงมติยกเลิก DST ในปี 2019 แต่การบังคับใช้ถูกเลื่อนหลายครั้ง ส่วนวุฒิสภาสหรัฐฯ ผ่าน Sunshine Protection Act ในปี 2022 เพื่อทำให้ DST ถาวร แต่ร่างกฎหมายยังหยุดอยู่ในสภาผู้แทนราษฎร
ฐานข้อมูลเขตเวลา IANA
ฐานข้อมูลเขตเวลา IANA หรือที่เรียกว่า tz database หรือ Olson database ตามชื่อผู้สร้าง Arthur David Olson คือแหล่งข้อมูลเขตเวลาหลักที่ระบบปฏิบัติการ ภาษาโปรแกรม และเว็บแอปแทบทั้งหมดใช้อ้างอิง
ฐานข้อมูลนี้ใช้รหัสในรูปแบบ Area/Location เช่น:
America/New_York- เวลาฝั่งตะวันออก และจัดการการเปลี่ยน EST/EDT อัตโนมัติEurope/London- GMT ในฤดูหนาว และ BST ในฤดูร้อนAsia/Tokyo- JST ไม่มี DSTAsia/Kolkata- IST (UTC+5:30)Pacific/Auckland- NZST/NZDT
ฐานข้อมูลนี้มี ข้อมูลย้อนหลัง หลายทศวรรษ คอยบันทึกทุกครั้งที่ประเทศเปลี่ยนค่า offset เริ่มใช้หรือยกเลิก DST หรือปรับขอบเขตเวลา ดูแลโดยชุมชนอาสาสมัคร และมีการอัปเดตหลายครั้งต่อปีเมื่อประเทศต่าง ๆ เปลี่ยนกฎ
นี่คือเหตุผลที่ชื่อแบบ IANA เหนือกว่าค่า UTC offset ธรรมดา เพราะ America/New_York รู้เองว่าต้องสลับระหว่าง EST และ EDT เมื่อใด ขณะที่ค่า UTC-5 แบบคงที่ไม่รู้เรื่องนี้
เขตเวลาพิเศษและเขตเวลาครึ่งชั่วโมง
ไม่ใช่ทุกเขตเวลาจะต่างกันเป็นจำนวนชั่วโมงเต็ม บางพื้นที่ใช้ค่า offset แบบ ครึ่งชั่วโมง หรือแม้แต่ หนึ่งในสี่ชั่วโมง:
| ภูมิภาค | Offset | เหตุผล |
|---|---|---|
| อินเดีย | UTC+5:30 | เป็นจุดประนีประนอมระหว่างฝั่งตะวันออกและตะวันตกของประเทศ |
| อิหร่าน | UTC+3:30 | เหตุผลทางประวัติศาสตร์: ใกล้เคียงเวลาเที่ยงสุริยะทั่วประเทศ |
| เนปาล | UTC+5:45 | เป็นประเทศเดียวที่ใช้ offset 45 นาที และเลือกเพื่อแยกให้ต่างจากอินเดีย |
| หมู่เกาะแชแทม (นิวซีแลนด์) | UTC+12:45 | กลุ่มเกาะเล็กทางตะวันออกของนิวซีแลนด์ |
| นิวฟันด์แลนด์ (แคนาดา) | UTC-3:30 | เหตุผลทางประวัติศาสตร์: ใช้ offset ครึ่งชั่วโมงก่อนเข้าร่วมแคนาดา |
| จีน | UTC+8 (เขตเวลาเดียว) | ประเทศกว้างเทียบได้กับ 5 เขตเวลาทางภูมิศาสตร์ แต่ใช้เวลาเดียวทั่วประเทศ |
จีนเป็นกรณีที่น่าสนใจมาก แม้ประเทศจะกว้างจากตะวันออกไปตะวันตกประมาณ 5,200 กม. แต่ทั้งประเทศใช้ Beijing Time (UTC+8) ทำให้เมืองคัชการ์ทางตะวันตกมีดวงอาทิตย์ขึ้นราว 10:00 น. ในฤดูหนาวตามเวลาราชการ
เส้นแบ่งวันที่สากล
เส้นแบ่งวันที่สากล หรือ International Date Line (IDL) เป็นเส้นสมมติที่ลากใกล้กับ เส้นเมริเดียนที่ 180 ผ่านมหาสมุทรแปซิฟิก เมื่อตัดผ่านเส้นนี้:
- เดินทางไปทางตะวันตก (เอเชีย -> อเมริกา): เพิ่มวันที่ 1 วัน
- เดินทางไปทางตะวันออก (อเมริกา -> เอเชีย): ลดวันที่ 1 วัน
เส้นแบ่งวันที่ไม่ได้เป็นเส้นตรง เพราะต้องเลี้ยวหลบเพื่อไม่ให้แบ่งประเทศออกเป็นคนละวัน ตัวอย่างที่เห็นชัดคือปี 2011 เมื่อซามัวเปลี่ยนจาก UTC-11 เป็น UTC+13 และข้ามวันศุกร์ที่ 30 ธันวาคมไปทั้งวัน ประเทศทั้งประเทศข้ามจากวันพฤหัสบดีไปวันเสาร์ทันที เพื่อให้ตรงกับคู่ค้าหลักอย่างออสเตรเลียและนิวซีแลนด์
คิริบาสถือครองสถิติ เขตเวลาที่เร็วที่สุด ในโลก หมู่เกาะไลน์ใช้ UTC+14 จึงเป็นหนึ่งในสถานที่แรกของโลกที่เข้าสู่ปีใหม่ เร็วกว่า UTC-12 (เกาะเบเกอร์) ถึง 26 ชั่วโมง
เขตเวลาสำหรับนักพัฒนา
การทำงานกับเขตเวลาในโค้ดผิดพลาดได้ง่ายมาก หลักสำคัญที่นักพัฒนาควรทำคือ:
1. เก็บเวลาเป็น UTC
ควรเก็บ timestamp ในฐานข้อมูลเป็น UTC เสมอ แล้วค่อยแปลงเป็นเขตเวลาท้องถิ่นของผู้ใช้เฉพาะตอนแสดงผล
// JavaScript - ดึงเวลาปัจจุบันในรูปแบบ UTC
const now = new Date();
console.log(now.toISOString());
// "2026-04-04T14:30:00.000Z" (Z = UTC)
// แปลงเป็นเขตเวลาที่ต้องการสำหรับแสดงผล
console.log(now.toLocaleString('th-TH', {
timeZone: 'America/New_York'
}));
// "4/4/2569 10:30:00"
console.log(now.toLocaleString('th-TH', {
timeZone: 'Asia/Tokyo'
}));
// "4/4/2569 23:30:00"2. ใช้ชื่อ IANA ไม่ใช่ค่า Offset
เก็บเขตเวลาของผู้ใช้เป็นชื่อแบบ IANA เช่น America/New_York แทน offset คงที่อย่าง -05:00 เพราะ offset คงที่จะไม่รู้ว่าต้องปรับตาม DST เมื่อใด
3. ใช้ Intl API หรือไลบรารี
JavaScript สมัยใหม่มี API ในตัวชื่อ Intl.DateTimeFormat ถ้างานซับซ้อนมากขึ้นควรใช้ไลบรารีที่เชี่ยวชาญด้านเวลา:
# Python - using zoneinfo
from zoneinfo import ZoneInfo
from datetime import datetime
utc_now = datetime.now(ZoneInfo("UTC"))
tokyo = utc_now.astimezone(ZoneInfo("Asia/Tokyo"))
new_york = utc_now.astimezone(ZoneInfo("America/New_York"))
print(f"UTC: {utc_now}")
print(f"Tokyo: {tokyo}")
print(f"New York: {new_york}")4. ใช้ ISO 8601 เมื่อต้องส่งข้อมูล
เมื่อส่งวันที่ผ่าน API ควรใช้รูปแบบ ISO 8601 พร้อม offset ที่ชัดเจน หรือใช้ suffix Z สำหรับ UTC:
ถูกต้อง: "2026-04-04T14:30:00Z" (UTC)
ถูกต้อง: "2026-04-04T10:30:00-04:00" (EDT)
ถูกต้อง: "2026-04-04T23:30:00+09:00" (JST)
ไม่ควรใช้: "April 4, 2026 2:30 PM" (ไม่มีข้อมูลเขตเวลา)
ไม่ควรใช้: "1743782400" (กำกวมว่าเป็นวินาทีหรือมิลลิวินาที)ข้อผิดพลาดเกี่ยวกับเขตเวลาที่พบบ่อย
Avoid: คิดว่า UTC offset คงที่เสมอ
นิวยอร์กเป็น UTC-5 ในฤดูหนาว แต่เป็น UTC-4 ในฤดูร้อน หาก hardcode -5 จะได้เวลาผิดครึ่งปี
Avoid: ใช้ตัวย่อ 3 ตัวอักษร
CST กำกวมได้ว่าเป็น Central, China หรือ Cuba ส่วน IST อาจหมายถึง India, Ireland หรือ Israel ควรใช้ชื่อ IANA เสมอ
Avoid: คิดว่าทุกวันมี 24 ชั่วโมง
ในวันเปลี่ยน DST หนึ่งวันอาจมี 23 หรือ 25 ชั่วโมง การ "บวก 24 ชั่วโมง" กับ "บวก 1 วัน" อาจให้ผลต่างกัน
Avoid: เก็บเวลาท้องถิ่นโดยไม่มีข้อมูลเขตเวลา
"2026-04-04 10:30:00" ที่ไม่มีเขตเวลาแทบใช้ไม่ได้ เพราะไม่รู้ว่าเป็น 10:30 ที่โตเกียวหรือนิวยอร์ก ซึ่งต่างกัน 13 ชั่วโมง
Avoid: คิดว่า DST เปลี่ยนพร้อมกันทั่วโลก
สหรัฐฯ และยุโรปเปลี่ยนคนละวัน บางสัปดาห์เวลานิวยอร์กกับลอนดอนต่างกัน 4 ชั่วโมงแทนที่จะเป็น 5 ชั่วโมงตามปกติ
OK: กฎทอง
เก็บเป็น UTC แสดงผลเป็นเวลาท้องถิ่น ใช้ชื่อ IANA ให้ไลบรารีจัดการ DST และอย่าเขียนตรรกะเขตเวลาเอง
แปลงเขตเวลาได้ทันที
ใช้ Time Zone Converter ฟรีของเราเพื่อแปลงเวลาระหว่างเขตเวลาใดก็ได้ ดูเวลาปัจจุบันทั่วโลก และจัดการการเปลี่ยน DST ได้ในเบราว์เซอร์ของคุณ
ลองใช้ Time Zone Converter ->แหล่งอ้างอิง
- IANA. Time Zone Database. https://www.iana.org/time-zones
- International Telecommunication Union. Coordinated Universal Time (UTC). ITU-R Recommendation TF.460-6.
- National Institute of Standards and Technology. A Walk Through Time: The History of Time Zones. https://www.nist.gov/pml/time-and-frequency-division/time-realization/history
- Bartky, I.R. (2007). One Time Fits All: The Campaigns for Global Uniformity. Stanford University Press.
- Mozilla Developer Network. Intl.DateTimeFormat. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat