Số tuần trong năm nghe có vẻ là một khái niệm đơn giản — cho đến khi phát hiện ra rằng các hệ thống khác nhau đếm nó khác nhau, và cùng một ngày trong lịch có thể có số tuần khác nhau tùy theo chuẩn được sử dụng.
Hệ thống ISO 8601
Theo chuẩn ISO 8601, tuần bắt đầu từ thứ Hai, và tuần đầu tiên của năm là tuần chứa thứ Năm đầu tiên của tháng 1 (tương đương: tuần đầu tiên chứa ngày 4 tháng 1). Điều này có nghĩa là ngày 1 tháng 1 đôi khi rơi vào tuần cuối cùng (52 hoặc 53) của năm trước. Ở Việt Nam, tuần lịch cũng theo quy ước bắt đầu từ thứ Hai (khác với lịch phương Tây truyền thống bắt đầu Chủ nhật), nên cách đếm ISO khá gần với thói quen bản địa.
Vì sao lại chính xác là "thứ Năm đầu tiên"
Quy tắc này đảm bảo phần lớn số ngày của tuần đầu tiên (ít nhất 4 trên 7) rơi vào năm mới — đây là một sự thỏa hiệp có chủ đích để tránh tình huống "tuần đầu tiên" chỉ gồm một hoặc hai ngày của năm mới.
Các hệ thống đánh số thay thế
Ở Mỹ, tuần theo truyền thống được đếm bắt đầu từ Chủ nhật, và tuần đầu tiên của năm là tuần chứa ngày 1 tháng 1, bất kể tuần đó thực sự chứa bao nhiêu ngày của năm mới. Điều này dẫn đến sự chênh lệch với cách đánh số ISO ở ranh giới năm — cần lưu ý khi đối chiếu dữ liệu xuất khẩu hoặc báo cáo với đối tác Mỹ.
Vì sao cần điều này
- Đối chiếu cách đánh số tuần trong báo cáo giữa các hệ thống dùng chuẩn khác nhau.
- Ghi nhãn đúng các tuần làm việc trong lịch trình và lịch làm việc.
- Tránh lỗi khi phân tích số tuần từ các API hoặc tệp bên ngoài.
Vì sao một số năm có tuần thứ 53
Hầu hết các năm có 52 tuần ISO, nhưng một năm bắt đầu vào thứ Năm (hoặc năm nhuận bắt đầu vào thứ Tư) có 53 tuần — đây là hệ quả của việc 52 × 7 = 364 ngày, tức ít hơn năm dương lịch 1-2 ngày, và những ngày "dư" này định kỳ tạo thành một tuần bổ sung. Đoạn code cứng nhắc giả định tối đa 52 tuần cuối cùng sẽ gặp phải trường hợp biên này.