🌐 VI

📅 ISO 8601 Date Formatter

Nhập ngày/giờ theo bất kỳ định dạng nào — ISO 8601, RFC 2822, Unix timestamp tính bằng giây hoặc mili giây, và nhiều hơn nữa — rồi hệ thống sẽ tự nhận dạng và hiển thị đồng thời dưới dạng ISO 8601, RFC 2822, Unix timestamp, giờ địa phương, và hơn thế nữa. Chọn độ lệch UTC để cũng tính biểu diễn ISO 8601 cho múi giờ đó.

Thêm công cụ dành cho nhà phát triển

HƯỚNG DẪN

Tìm hiểu thêm

01

1. ISO 8601 là gì?

ISO 8601 là tiêu chuẩn quốc tế cho ngày và giờ, ví dụ "YYYY-MM-DDTHH:mm:ss.sssZ" — năm-tháng-ngày và giờ:phút:giây được ngăn bởi T, theo sau là UTC (Z) hoặc độ lệch múi giờ như +09:00. Định dạng này được dùng rộng rãi trong log, phản hồi API và cơ sở dữ liệu vì nó không mơ hồ với cả con người lẫn máy móc.

02

2. Unix timestamp và phép tính độ lệch

Unix timestamp đếm số giây (hoặc mili giây) kể từ 1970-01-01T00:00:00Z. Công cụ này tự động nhận diện đầu vào chỉ gồm số theo số chữ số — 10 đến 11 chữ số được hiểu là giây, 13 chữ số là mili giây. Để hiển thị ISO 8601 ở độ lệch đã chọn, nó cộng độ lệch (tính bằng phút) vào thời điểm UTC, định dạng kết quả thành giờ "wall clock", rồi thêm độ lệch gốc ở cuối — phép tính này luôn đúng bất kể múi giờ địa phương của trình duyệt.

03

3. RFC 2822 và ngày HTTP

RFC 2822 (thường gặp trong tiêu đề email) và HTTP Date header dùng định dạng như "Tue, 15 Jan 2024 09:30:00 GMT". toUTCString() của JavaScript tạo ra định dạng này, và Date.parse() có thể đọc cả nó lẫn ISO 8601, nên một công cụ này có thể chuyển đổi ngày đến từ nhiều nguồn khác nhau — tệp log, header API, dump cơ sở dữ liệu, và nhiều hơn nữa.

Câu hỏi thường gặp

Tôi có thể nhập những định dạng ngày nào?
ISO 8601 (2024-01-15T09:30:00Z), RFC 2822 (Mon, 15 Jan 2024 09:30:00 GMT), Unix timestamp (một số tính bằng giây hoặc mili giây), và hầu hết các chuỗi ngày phổ biến mà Date.parse() của trình duyệt nhận dạng.
Công cụ biết Unix timestamp là giây hay mili giây bằng cách nào?
Nếu đầu vào chỉ gồm số, nó được phân loại theo số chữ số: 10-11 chữ số được coi là giây (ví dụ 1700000000), và 13 chữ số là mili giây (ví dụ 1700000000000).
ISO 8601 cho độ lệch đã chọn được tính như thế nào?
Thời điểm UTC được cộng thêm độ lệch đã chọn (tính bằng phút) để ra giờ "wall clock" tại độ lệch đó, rồi được định dạng thành năm-tháng-ngày giờ:phút:giây.mili giây với phần độ lệch gắn kèm dưới dạng +HH:MM hoặc -HH:MM. Kết quả luôn giống nhau bất kể cài đặt múi giờ địa phương của bạn.
Ngày tôi nhập có được gửi lên máy chủ không?
Không. Mọi chuyển đổi đều diễn ra hoàn toàn trong JavaScript của trình duyệt và không bao giờ được gửi lên máy chủ.