unix · ISO · múi giờ
Trình chuyển đổi thời gian
Dán một dấu thời gian Unix hoặc một ngày ISO 8601 và đọc thời điểm đó theo UTC, theo múi giờ bạn chọn và theo những múi giờ bạn quan tâm. Phép tính độ lệch chạy trong thẻ này.
Một con số trần được đọc theo độ dài: đúng 10 chữ số là giây, đúng 13 chữ số là mili giây, và mọi độ dài khác đều bị từ chối thay vì bị đoán. Một ngày ISO không có độ lệch được đọc là UTC, vì bạn muốn nói tới một thời điểm, không phải một thời điểm cho mỗi múi giờ.
Cách chuyển đổi một dấu thời gian
Nhập thời điểm
Dán một dấu thời gian Unix 10 chữ số, một dấu mili giây 13 chữ số, hoặc một ngày ISO như 2026-09-12T14:30:00Z — hay gõ now để bắt đầu từ giây này.
Chọn múi giờ
Chọn múi giờ mà thời điểm sẽ được đọc theo. UTC đứng đầu, các múi giờ phổ biến theo sau, và danh sách đầy đủ là những gì cơ sở dữ liệu múi giờ của trình duyệt bạn biết.
Đọc đồng hồ
Cùng một thời điểm hiện ra bên cạnh múi giờ của bạn và danh sách rút gọn kèm từng độ lệch, cùng thời điểm đó dưới dạng giây, mili giây và micro giây cho bất kỳ API nào cần tới.
Dấu thời gian là gì, và trang này làm gì với nó
Giờ Unix đếm số giây từ 1970-01-01T00:00:00Z và cố tình bỏ qua giây nhuận, đó là lý do con số này giống nhau ở mọi nơi và múi giờ chỉ luôn là một lựa chọn hiển thị. Mười chữ số bao trùm từ 2001 đến 2286, nên một giá trị sao chép từ nhật ký hay URL gần như luôn là giây; một cột trong cơ sở dữ liệu hay một đối tượng ngày của JavaScript đưa cho bạn mười ba chữ số, tức mili giây trên cùng thang đó.
ISO 8601 ghi cùng điều đó trên lịch: 2026-09-12T14:30:00+03:00 là một thời điểm được diễn đạt theo đồng hồ treo tường của Istanbul, và Z nghĩa đúng là +00:00. Một chuỗi không có độ lệch là mơ hồ, nên trang này đọc nó là UTC thay vì mặc định theo múi giờ của máy bạn. Bản thân các độ lệch đến từ cơ sở dữ liệu tz của trình duyệt, đó là lý do Europe/Istanbul giữ UTC+3 quanh năm theo quy định Thổ Nhĩ Kỳ áp dụng từ 2016, còn America/New_York rơi vào UTC−4 hoặc UTC−5 tùy theo ngày.
Câu hỏi về chuyển đổi thời gian
Dấu thời gian của tôi có bị gửi lên máy chủ không?
Không. Việc phân tích và phép tính múi giờ chạy trên API Intl đã có sẵn trong trình duyệt, nên thời điểm bạn tra cứu không bao giờ bị truyền đi và trang vẫn chạy ngoại tuyến sau khi đã tải xong. Không gì được ghi nhật ký, vì chẳng có gì để ghi.
Vì sao cùng một dấu thời gian lại hiện giờ khác cho New York?
Vì độ lệch của một múi giờ phụ thuộc vào ngày: New York là UTC−5 vào mùa đông và UTC−4 vào mùa hè, và trình duyệt áp dụng quy tắc có hiệu lực tại đúng thời điểm đó. Vì vậy một phép chuyển đổi luôn là giữa hai thời điểm, không bao giờ là giữa hai tên múi giờ — đổi dấu thời gian thì độ lệch cũng có thể đổi theo.
Tôi nên sao chép giây, mili giây hay micro giây?
Chúng là cùng một thời điểm ở ba độ phân giải: số giây Unix 10 chữ số, số mili giây 13 chữ số, và micro giây bên cạnh cả hai. Các API không thống nhất về thứ chúng cần — giờ Unix theo quy ước là giây, còn dấu thời gian của trình duyệt và cơ sở dữ liệu thường là mili giây — nên hãy lấy đúng loại mà công cụ hay điểm cuối bạn đang đưa dữ liệu vào yêu cầu.
Chuyện gì xảy ra nếu tôi dán một số 12 chữ số?
Nó bị từ chối thay vì bị đoán, vì chỉ giá trị 10 chữ số mới được đọc là giây và chỉ giá trị 13 chữ số mới được đọc là mili giây. Đoán mò sẽ âm thầm dịch thời điểm đi hàng chục năm, nên một con số gõ sai hay bị cắt cụt dễ bị phát hiện hơn khi báo lỗi. Một ngày ISO 8601 kèm độ lệch dùng cũng tốt như một con số và không mơ hồ.