หมายเลขสัปดาห์ในหนึ่งปีดูเหมือนแนวคิดง่าย ๆ จนกว่าจะพบว่าระบบต่าง ๆ นับมันแตกต่างกัน — และวันปฏิทินเดียวกันอาจมีหมายเลขสัปดาห์ต่างกันขึ้นอยู่กับมาตรฐานที่ใช้
ระบบ ISO 8601
ตามมาตรฐาน ISO 8601 สัปดาห์เริ่มต้นวันจันทร์ และสัปดาห์แรกของปีคือสัปดาห์ที่มีวันพฤหัสบดีแรกของเดือนมกราคม (เทียบเท่ากับ: สัปดาห์แรกมีวันที่ 4 มกราคมอยู่ด้วย) นี่หมายความว่าวันที่ 1 มกราคมบางครั้งตกอยู่ในสัปดาห์สุดท้าย (52 หรือ 53) ของปีก่อนหน้า
ทำไมปีปฏิทินไทยยิ่งทำให้เรื่องนี้ซับซ้อนขึ้น
ประเทศไทยใช้ปีพุทธศักราช (พ.ศ.) ในเอกสารราชการ ซึ่งมีค่ามากกว่าปีคริสต์ศักราชอยู่ 543 ปี ดังนั้นเมื่อระบบซอฟต์แวร์คำนวณหมายเลขสัปดาห์ตาม ISO 8601 (ซึ่งอิงปีคริสต์ศักราชเสมอ) แต่แสดงผลปีเป็น พ.ศ. ให้ผู้ใช้ ก็อาจทำให้เกิดความสับสนได้ง่ายหากไม่แปลงปีให้ถูกต้องก่อนคำนวณ
ระบบการนับหมายเลขทางเลือก
ในสหรัฐอเมริกา สัปดาห์นับตามธรรมเนียมจากวันอาทิตย์ และสัปดาห์แรกของปีคือสัปดาห์ที่มีวันที่ 1 มกราคมอยู่ด้วย ไม่ว่าจะมีวันของปีใหม่อยู่กี่วันจริง ๆ ก็ตาม สิ่งนี้นำไปสู่ความคลาดเคลื่อนกับการนับหมายเลขแบบ ISO รอบขอบเขตของปี
ทำไมต้องใช้สิ่งนี้
- ปรับหมายเลขสัปดาห์ในรายงานให้ตรงกันระหว่างระบบที่ใช้มาตรฐานต่างกัน
- ติดป้ายสัปดาห์ทำงานอย่างถูกต้องในตัววางแผนและปฏิทิน
- หลีกเลี่ยงข้อผิดพลาดเมื่อแยกวิเคราะห์หมายเลขสัปดาห์จาก API หรือไฟล์ภายนอก
ทำไมบางปีจึงมีสัปดาห์ที่ 53
ปีส่วนใหญ่มี 52 สัปดาห์ ISO แต่ปีที่เริ่มต้นด้วยวันพฤหัสบดี (หรือปีอธิกสุรทินที่เริ่มต้นด้วยวันพุธ) จะมี 53 สัปดาห์ — นี่เป็นผลมาจากการที่ 52 × 7 = 364 วัน ซึ่งน้อยกว่าปีปฏิทิน 1-2 วัน และวันที่ "เกิน" เหล่านี้จะรวมกันเป็นสัปดาห์เพิ่มเติมเป็นระยะ ๆ โค้ดที่สันนิษฐานอย่างตายตัวว่ามีสูงสุด 52 สัปดาห์จะพบกับกรณีขอบเขตนี้ในที่สุด