Đúng, người La Mã cũng gặp vấn đề với con số 0.
Đây chỉ là một hệ quả [không trực quan] của toán học (là một thành phần mạnh mẽ của lập trình, đặc biệt là lập trình sơ khai) xác định số 0 là số tự nhiên đầu tiên (thuật ngữ có vấn đề mà một) thực, dương * và vì một mảng được lập chỉ mục với số thực , các số tự nhiên phần tử "đầu tiên" ở chỉ số 0.
Tháng thực sự là các giá trị được đặt tên trong một mảng, trong đó ngày và năm là các giá trị được đánh số - có lẽ sẽ hữu ích hơn khi coi ngày / năm nằm trong các mảng trông giống như {"1", "2", "3" ,. .. } chúng tôi.
Vì sao điều này rất phổ biến (ngoài việc chính xác về mặt toán học) thì tất cả các ngôn ngữ bạn liệt kê đều có nguồn gốc chung vì một điều ...
Biên tập:
Nhìn sâu hơn vào nó, liên kết wikipedia này nêu chi tiết một số lý do tốt và thú vị cho việc lập chỉ mục bằng không (không trực tiếp nói lên lý do tại sao các tháng không được lập chỉ mục nhưng tôi nghĩ điều đó đã được đề cập), và liên kết SO này đã trả lời câu hỏi trước đây.
Có vẻ như quan điểm phổ biến là "tai nạn lịch sử" hoặc "vì tháng không phải là con số nên không thể so sánh với lưu trữ ngày / năm" tùy thuộc vào người bạn yêu cầu.
* Xin lỗi, xin lỗi, vật lý! = Toán học quay lại cắn tôi ở đó. Tắt bàn tay tôi bây giờ.