Máy tính ngày tháng
Tìm sự khác biệt giữa hai ngày hoặc thêm/trừ ngày.
Sự khác biệt ngày tháng được tính như thế nào?
Sự khác biệt được tính bằng số ngày lịch chính xác giữa hai ngày. Kết quả cũng hiển thị số tuần, tháng và năm tương đương để thuận tiện. Các năm nhuận được tính tự động.
Các năm nhuận có được tính không?
Có. Tất cả các tính toán sử dụng đối tượng Date gốc của JavaScript, xử lý đúng các năm nhuận, độ dài tháng và các chuyển tiếp giờ mùa hè.
Cách thức hoạt động
- Chọn một chế độ tính toán: tính sự khác biệt giữa hai ngày, hoặc thêm/trừ một khoảng thời gian từ một ngày bắt đầu.
- Nhập các ngày của bạn: sử dụng các bộ chọn hoặc gõ ngày theo định dạng YYYY-MM-DD. Có thể bao gồm giờ để có độ chính xác đến giây.
- Lấy kết quả: hình dung sự khác biệt theo năm, tháng, tuần, ngày, giờ, phút và giây, tất cả cùng một lúc.
Tại sao sử dụng máy tính ngày tháng?
Đếm ngày giữa hai ngày bằng tay là chậm và dễ mắc lỗi, đặc biệt khi chuyển từ tháng này sang tháng khác, với các năm nhuận và các thay đổi giờ. Máy tính này xử lý đúng tất cả các trường hợp biên của lịch. Các sử dụng phổ biến: thời hạn hợp đồng, xác minh tuổi, lịch trình dự án, ngày còn lại trước ngày hết hạn, thời gian đã trôi qua kể từ một sự kiện, ngày đến hạn thanh toán và thời gian gia hạn đăng ký. Chế độ thêm/trừ hữu ích để tính các ngày trong tương lai bằng cách thêm số ngày làm việc, tuần hoặc tháng vào một ngày bắt đầu.
Những gì bạn có thể tính
- Khác biệt ngày tháng, số ngày, tuần, tháng và năm chính xác giữa hai ngày
- Thêm thời gian, tìm ngày sau N ngày/tuần/tháng kể từ một ngày bắt đầu
- Trừ thời gian, tìm ngày trước N kỳ trước một ngày tham chiếu
- Tính tuổi, số năm, tháng và ngày đầy đủ kể từ ngày sinh
- Ngày làm việc, chỉ đếm các ngày làm việc, loại trừ các ngày cuối tuần
Máy tính ngày là gì?
Một máy tính ngày trả lời ba câu hỏi lịch phổ biến nhất: có bao nhiêu ngày giữa hai ngày, ngày nào là N ngày từ ngày tham chiếu, và lịch nói gì về một ngày cụ thể (thứ trong tuần, ngày trong năm, số tuần, trạng thái năm nhuận). Mỗi câu hỏi mất vài giây trong công cụ và sẽ mất mười phút đếm dễ sai nếu bạn thử bằng tay với một lịch treo tường.
Số học lịch đầy các trường hợp đặc biệt. Tháng 2 có 28 hoặc 29 ngày tùy thuộc vào quy tắc năm nhuận. Lịch Gregorian (giới thiệu năm 1582) có khoảng cách 12 ngày so với lịch Julian ở một số quốc gia. Giờ tiết kiệm ánh sáng thêm và bỏ giờ hai lần mỗi năm. Các quốc gia khác nhau định nghĩa ngày làm việc khác nhau vì các ngày lễ khu vực. Một máy tính ngày được xây dựng tốt xử lý những điều này một cách chính xác để bạn không phải nghĩ về chúng.
Công cụ này sử dụng đối tượng Date JavaScript bản địa của trình duyệt, thực hiện lịch Gregorian proleptic trở lại khoảng năm 1 và tiến đến năm 275760. Công cụ chạy trong trình duyệt của bạn, vì vậy ngày và ngày sinh của bạn không bao giờ chạm vào máy chủ của chúng tôi. Ba tab (Chênh Lệch Ngày, Thêm/Trừ Ngày, Thông Tin Ngày) bao gồm khoảng 95 phần trăm các câu hỏi toán học ngày mà một người dùng điển hình đặt ra.
Bên trong máy tính có gì
Công cụ hiển thị ba tab ở trên đỉnh: Chênh Lệch Ngày (giữa hai ngày), Thêm/Trừ Ngày (toán học ngày với offset), và Thông Tin Ngày (sự thật ngày đơn). Nhấp vào tab để chuyển bảng. Các tab loại trừ nhau; chuyển không xóa các giá trị trong các bảng khác cho đến khi bạn tải lại.
Bảng Chênh Lệch Ngày nhận hai đầu vào ngày HTML5 (Ngày Bắt Đầu và Ngày Kết Thúc), mỗi cái được render với bộ chọn ngày bản địa của trình duyệt trên hầu hết các nền tảng. Bảng kết quả hiển thị tổng số ngày, cộng với tương đương trong tuần, tháng và năm cho bối cảnh. Năm nhuận và độ dài tháng được xử lý tự động bởi đối tượng Date bên dưới.
Bảng Thêm/Trừ Ngày nhận một ngày bắt đầu, một thao tác (Thêm hoặc Trừ), và một số ngày. Kết quả là ngày được tính với thứ trong tuần được hiển thị. Bảng Thông Tin Ngày nhận một ngày đơn và hiển thị thứ trong tuần, ngày trong năm (1 đến 365 hoặc 366), số tuần ISO, cờ năm nhuận, và ngày trong ngôn ngữ thông thường. Tất cả đầu ra cập nhật ngay khi bạn nhấp vào nút hành động.
Lịch sử và bối cảnh
Lịch Julian (năm 45 trước Công nguyên)
Cuộc cải cách lịch La Mã của Julius Caesar năm 45 trước Công nguyên, được thiết kế bởi nhà thiên văn học Sosigenes của Alexandria, đã giới thiệu năm 365 ngày với một ngày nhuận mỗi bốn năm. Năm Julian trung bình 365.25 ngày, hơi dài hơn năm nhiệt đới thực sự khoảng 365.2422 ngày. Sự trôi tích lũy đến khoảng 10 ngày vào thế kỷ 16, đã chuẩn bị sân khấu cho cuộc cải cách Gregorian.
Lịch Gregorian (1582)
Cuộc cải cách của Giáo hoàng Gregory XIII năm 1582 đã sửa chữa sự trôi bằng cách bỏ 10 ngày (ngày 4 tháng 10 năm 1582 được tiếp nối bởi ngày 15 tháng 10 năm 1582 ở các quốc gia Công giáo) và tinh chỉnh quy tắc năm nhuận: các năm chia hết cho 100 không phải là năm nhuận trừ khi cũng chia hết cho 400. Vì vậy 1900 không phải năm nhuận nhưng 2000 là. Cuộc cải cách lan ra không đồng đều: Anh và các thuộc địa Mỹ áp dụng nó vào năm 1752 (bỏ 11 ngày), Nga vào năm 1918, Hy Lạp vào năm 1923.
Unix epoch (1970)
Bell Labs Unix vào cuối những năm 1960 đã chọn ngày 1 tháng 1 năm 1970 lúc 00:00 UTC làm điểm gốc cho biểu diễn thời gian của nó. Mỗi timestamp Unix đếm giây từ epoch này, đó là lý do tại sao ngày này có ở khắp mọi nơi trong điện toán. Đối tượng Date của JavaScript trong nội bộ lưu trữ mili giây kể từ Unix epoch và sử dụng nó làm cơ sở tính toán cho mọi hoạt động ngày, bao gồm cả những hoạt động trong công cụ này.
ISO 8601 chuẩn hóa biểu diễn ngày (1988)
ISO 8601:1988 đã định nghĩa định dạng ngày phổ quát YYYY-MM-DD, định dạng thời gian 24-giờ HH:MM:SS, và sơ đồ đánh số tuần ISO (tuần 1 chứa thứ Năm đầu tiên của năm, các tuần bắt đầu vào thứ Hai). Chuẩn này khiến cho 2026-05-19 có nghĩa giống nhau ở bất kỳ quốc gia nào, loại bỏ sự mơ hồ của 05/19/2026 (Mỹ) so với 19/05/2026 (Anh). Máy tính này sử dụng ISO 8601 trong nội bộ và cung cấp số tuần ISO trong tab Thông Tin Ngày.
Đối tượng Date JavaScript (1995)
JavaScript 1.0 của Brendan Eich năm 1995 bao gồm một đối tượng Date được mô hình hóa theo java.util.Date của Java (mà bản thân nó dựa trên Unix). Nó nổi tiếng là không được chỉ định và kỳ quặc: phân tích 2 so với 02 cho kết quả khác nhau giữa các trình duyệt, các chỉ số tháng chạy từ 0 đến 11 thay vì 1 đến 12, và xử lý múi giờ không nhất quán. Những điều kỳ quặc được sửa một phần ngày nay, nhưng phần lớn vẫn còn cho tính tương thích ngược.
API Temporal (từ năm 2024)
TC39 (cơ quan tiêu chuẩn JavaScript) đã phê duyệt API Temporal vào năm 2024, sự thay thế được chờ đợi từ lâu cho đối tượng Date cũ. Temporal phân tách rõ ràng các khái niệm ngày, thời gian, datetime, thời lượng, và múi giờ, sửa 25 năm những điều kỳ quặc tích lũy. Vào năm 2026, Temporal đang được phát hành trong các trình duyệt hiện đại đằng sau một cờ và thông qua polyfill. Các phiên bản tương lai của máy tính này sẽ sử dụng Temporal khi hỗ trợ trình duyệt là phổ quát.
Quy trình thực tế
Đếm ngược thời hạn dự án
Nhập ngày hôm nay làm Bắt Đầu, thời hạn dự án làm Kết Thúc, nhấp Tính toán. Công cụ hiển thị chính xác số ngày còn lại, cộng với tuần và tháng cho cách diễn đạt tóm tắt-điều-hành. Hữu ích cho kế hoạch dự án, OKR check-in, lập kế hoạch sprint, và bất kỳ thiết lập nào mà hai tháng và 12 ngày đọc tốt hơn 73 ngày.
Tính tuổi
Nhập ngày sinh làm Bắt Đầu, ngày hôm nay làm Kết Thúc. Kết quả hiển thị năm, tháng, và ngày. Đây là hiển thị tuổi tiêu chuẩn cho các biểu mẫu chăm sóc sức khỏe, đăng ký trường học, tài liệu nhập cư, và bất kỳ thiết lập nào mà 27 năm 3 tháng 14 ngày chính xác hơn chỉ 27.
Xác minh thời gian hợp đồng
Đối với một cam kết freelance, hợp đồng việc làm, hoặc thuê tài sản, nhập ngày bắt đầu và kết thúc để xác nhận tổng số ngày. So sánh với thời lượng đã nêu của hợp đồng để bắt các lỗi off-by-one (liệu ngày kết thúc bao gồm hay loại trừ có quan trọng đối với hóa đơn). Tính toán ngày lịch chính xác của công cụ khớp với quy ước được sử dụng bởi hầu hết phần mềm kế toán.
Lập kế hoạch gia hạn đăng ký
Đối với đăng ký hàng năm (SaaS, phòng tập thể dục, tạp chí), nhập ngày gia hạn làm Bắt Đầu trong bảng Thêm, thêm 365 ngày (hoặc bất kỳ kỳ hạn nào là), và bạn có ngày gia hạn tiếp theo. Công cụ xử lý các trường hợp đặc biệt cuối tháng tự động (bắt đầu vào 28 Feb, thêm 365, nhận 1 tháng 3 năm sau; bắt đầu vào 29 Feb của một năm nhuận, thêm 365, nhận 28 Feb của năm sau).
Lập kế hoạch kỷ niệm
Đối với kỷ niệm cưới, ngày sáng lập, hoặc bất kỳ cột mốc nào, sử dụng bảng Thêm với ngày gốc làm Bắt Đầu và 365 (một năm) hoặc 3650 (mười năm) làm ngày. Kết quả cho bạn biết ngày và thứ trong tuần mà kỷ niệm rơi vào, vì vậy bạn có thể đặt một nhà hàng hoặc lên lịch một lễ kỷ niệm. Các mốc 25-năm và 50-năm dễ tính theo cách này.
Lập lịch trước sinh
Ngày dự sinh khi mang thai theo quy ước là 280 ngày kể từ kỳ kinh nguyệt cuối cùng. Nhập LMP làm Bắt Đầu, thêm 280, nhận EDD. Bảng Thông Tin Ngày cho EDD hiển thị thứ trong tuần để bạn có thể lập kế hoạch một chuyến thăm bệnh viện. Đây là một ước tính sơ bộ; một nhà cung cấp dịch vụ chăm sóc sức khỏe nên xác nhận bằng siêu âm.
Cạm bẫy phổ biến
Múi giờ (UTC so với địa phương)
Các đối tượng Date JavaScript đại diện cho các khoảnh khắc trong thời gian, không phải ngày trong lịch. Khi bạn chọn 2026-05-19 trong bộ chọn ngày, trình duyệt hiểu nó là nửa đêm theo giờ địa phương. Nếu bạn tính toán qua nhiều múi giờ (vận chuyển quốc tế, lịch trình bay), kết quả có thể sai một ngày. Công cụ này sử dụng thời gian địa phương một cách nhất quán, đó là sự lựa chọn đúng cho hầu hết các câu hỏi lịch cá nhân nhưng hãy chú ý đến các bối cảnh quốc tế.
Chuyển đổi giờ tiết kiệm ánh sáng
Tại các quốc gia tuân thủ giờ tiết kiệm ánh sáng (USA, EU, hầu hết Úc), một ngày vào tháng 3 dài 23 giờ và một ngày vào tháng 11 dài 25 giờ. Đếm giờ giữa hai ngày vượt qua chuyển đổi DST cho kết quả khác với số đếm ngày một giờ. Công cụ đếm ngày lịch, không phải giờ, vì vậy DST không ảnh hưởng đến kết quả đếm ngày; nó sẽ quan trọng nếu bạn đang đo thời gian trôi qua trong giờ.
Các trường hợp đặc biệt năm nhuận
Một năm là năm nhuận nếu chia hết cho 4, ngoại trừ thế kỷ (năm kết thúc bằng 00) phải chia hết cho 400. Vì vậy 2000 là năm nhuận, 1900 không phải, 2100 sẽ không phải, 2400 sẽ là. Hầu hết các lỗi máy tính giả định chia hết cho 4 mà không có ngoại lệ thế kỷ. Công cụ này đúng vì JavaScript Date xử lý nó nguyên bản.
Sự mơ hồ cuối tháng trong toán học ngày
Nếu bạn thêm một tháng vào ngày 31 tháng 1, bạn nhận được ngày nào? 28 (hoặc 29) tháng 2 là câu trả lời phổ biến nhất (Excel làm điều này), nhưng 3 (hoặc 2) tháng 3 cũng có thể được bảo vệ (31 ngày sau). Các sản phẩm phần mềm và khu vực pháp lý khác nhau xử lý điều này khác nhau. Bảng Thêm/Trừ sử dụng số đếm ngày chính xác để tránh sự mơ hồ. Nếu bạn cần phép cộng tháng theo lịch, hãy thêm 30 hoặc 31 ngày một cách rõ ràng.
Khoảng cách lịch 1582
Giữa ngày 4 tháng 10 và 15 tháng 10 năm 1582, cuộc cải cách Gregorian đã xóa 10 ngày ở các quốc gia Công giáo (nhiều hơn ở các quốc gia áp dụng sau: 11 ngày cho Anh năm 1752, 13 ngày cho Nga năm 1918). Tính toán các ngày vượt qua cuộc cải cách yêu cầu chọn liệu sử dụng Gregorian proleptic (giả định lịch mới luôn được áp dụng) hay ngày lịch sử. Công cụ này sử dụng Gregorian proleptic, đó là quy ước Date của JavaScript. Đối với nghiên cứu phả hệ hoặc lịch sử trước năm 1582, hãy sử dụng một công cụ chuyên dụng.
Ngày làm việc thay đổi theo quốc gia
Tại Mỹ, ngày làm việc loại trừ thứ Bảy, Chủ nhật và khoảng 11 ngày lễ liên bang. Ở Anh, số đếm tương tự nhưng với các ngày lễ khác nhau (ngày Phục sinh, Boxing Day, ngày lễ ngân hàng cuối hè). Ở Saudi Arabia, cuối tuần là Thứ Sáu-Thứ Bảy. Công cụ này không tính ngày làm việc; nó đếm ngày lịch. Đối với toán học ngày làm việc, sử dụng một công cụ tính lương hoặc HR biết lịch ngày lễ của quốc gia bạn.
Quyền riêng tư và xử lý dữ liệu
Tất cả các tính toán xảy ra trong trình duyệt của bạn sử dụng đối tượng Date bản địa của JavaScript. Chúng tôi không gửi ngày của bạn đến bất kỳ máy chủ nào, không ghi log đầu vào, không đặt cookie liên kết với các tính toán. Ngày sinh, ngày hợp đồng, và bất kỳ dữ liệu lịch nhạy cảm nào khác hoàn toàn ở trên thiết bị của bạn. Tải lại trang và các đầu vào trước đó biến mất.
Sau khi trang được tải, công cụ hoạt động ngoại tuyến. Không cần thư viện CDN cho toán học ngày cơ bản. Bạn có thể ngắt kết nối khỏi mạng và chạy tính tuổi hoặc toán học thời hạn mà không có gì rời khỏi thiết bị của bạn.
Khi không sử dụng máy tính này
Ngày thiên văn hoặc lịch sử trước năm 1582
Đối với nghiên cứu lịch sử cần ngày được biểu thị bằng lịch được sử dụng vào thời điểm đó (Julian cho châu Âu Cơ đốc giáo thời kỳ đầu, lịch âm cho lịch sử Hồi giáo và Trung Quốc), hãy sử dụng một bộ chuyển đổi lịch chuyên dụng (Steel Calendar, NASA JPL Horizons). Công cụ này sử dụng Gregorian proleptic và sẽ cho câu trả lời khác cho các sự kiện trước năm 1582.
Tính toán ngày làm việc với các ngày lễ
Khi tính thời gian hợp đồng, hạn thanh toán, hoặc đồng hồ thỏa thuận-mức-dịch-vụ trong ngày làm việc (loại trừ cuối tuần và ngày lễ cụ thể của quốc gia), hãy sử dụng một công cụ nhận biết-quốc-gia chẳng hạn như bộ tính ngày làm việc của TimeAndDate.com, hoặc hệ thống HR hoặc tính lương của công ty bạn. Công cụ này chỉ đếm ngày lịch.
Bộ lập lịch sự kiện định kỳ (mỗi thứ Ba, hàng tháng)
Để thiết lập sự lặp lại lịch (mỗi thứ Ba thứ hai trong tháng, ngày làm việc đầu tiên của mỗi quý), sử dụng Google Calendar, Apple Calendar, hoặc Outlook. Chúng xử lý mẫu RRULE từ RFC 5545 (iCalendar) có hàng tá trường hợp cạnh. Công cụ này dành cho toán học ngày một lần, không phải để quản lý lịch lặp lại.
Chuyển đổi múi giờ trên nhiều thành phố
Đối với các cuộc họp qua nhiều múi giờ (NYC, London, Tokyo, Sydney) tại một thời điểm, hãy sử dụng một công cụ chuyên dụng như World Clock Meeting Planner. Máy tính này hoạt động trong thời gian địa phương và không thực hiện chuyển đổi đa-múi-giờ. Công cụ world-clock của Absolutool bao gồm trường hợp sử dụng đó.
Thêm câu hỏi
Thứ trong tuần được tính như thế nào?
Date.getDay() của JavaScript trả về một số từ 0 đến 6 (Chủ Nhật đến Thứ Bảy). Trong nội bộ, công cụ sử dụng phép đồng dư Zeller hoặc một thuật toán bảng tra cứu tương tự. Tính thứ trong tuần thủ công bằng tay cũng tồn tại, thuật toán Doomsday của John Conway cho phép bạn tính thứ trong tuần trong đầu trong vài giây. Đối với sử dụng máy tính, hãy dựa vào API Date.
Tháng được đếm như thế nào khi tính sự khác biệt?
Có một số quy ước. (1) Tháng đầy đủ đếm các tháng hoàn chỉnh giữa các ngày: 15 Feb đến 14 Apr là 1 tháng (chưa phải 2). (2) Sự khác biệt trong số tháng bỏ qua ngày: 15 Feb đến 14 Apr là 2 tháng. (3) Tổng số ngày chia cho độ dài tháng trung bình (30,44): 15 Feb đến 14 Apr là 58 / 30,44 = 1,91 tháng. Công cụ này sử dụng quy ước (1), khớp với cách hầu hết mọi người nói về tuổi và thời gian.
Số tuần ISO là gì?
ISO 8601 định nghĩa tuần 1 của một năm là tuần chứa thứ Năm đầu tiên. Các tuần bắt đầu Thứ Hai. Vì vậy 1 tháng 1 năm 2024 (Thứ Hai) ở tuần 1 năm 2024, nhưng 1 tháng 1 năm 2023 (Chủ Nhật) ở tuần 52 năm 2022. Quy ước quan trọng cho lịch kinh doanh, đặc biệt ở châu Âu nơi số tuần ISO xuất hiện trên tính lương, trong kế hoạch bán lẻ, và trong lịch học. Tab Thông Tin Ngày hiển thị số tuần ISO.
Tôi có thể tính Lễ Phục sinh không?
Không trực tiếp. Chủ Nhật Phục Sinh là Chủ Nhật đầu tiên sau trăng tròn đầu tiên sau xuân phân, được tính bằng một thuật toán phức tạp gọi là Computus. Công cụ này không tính Lễ Phục Sinh. Đối với ngày trong bất kỳ năm nào, hãy tra cứu năm trên bài viết Wikipedia Danh sách ngày của Lễ Phục Sinh. Lễ Phục Sinh phương Tây và phương Đông (Chính thống) thường khác nhau vì cơ sở lịch khác nhau.
Tôi tính ngày làm việc giữa hai ngày như thế nào?
Ước tính sơ bộ: tổng số ngày, trừ cuối tuần. (Ngày / 7) cho số tuần; nhân với 5 cho ngày làm việc, sau đó thêm các ngày làm việc còn dư. Đối với một con số chính xác bao gồm các ngày lễ địa phương, hãy sử dụng một máy tính ngày làm việc dành riêng cho quốc gia (TimeAndDate.com hoạt động ở 200+ quốc gia). Công cụ tự nó đếm ngày lịch; điều chỉnh ngày làm việc là tùy thuộc vào bạn.
Còn các tính toán năm tài chính thì sao?
Năm tài chính chạy trên lịch được thiết lập bởi mỗi công ty hoặc chính phủ: năm tài chính liên bang Hoa Kỳ là từ 1 tháng 10 đến 30 tháng 9, năm thuế cá nhân của Anh là từ 6 tháng 4 đến 5 tháng 4, nhiều tập đoàn sử dụng năm lịch tháng 1-tháng 12. Đối với toán học năm tài chính, hãy tính bằng cách xem năm tài chính như một khoảng tùy ý 365 ngày và sử dụng bảng Thêm/Trừ. Hoặc sử dụng một công cụ tài chính chuyên dụng biết các định nghĩa tài chính cụ thể của bạn.