Mili giây sang ngày: UTC vs giờ địa phương, và vì sao có thể trông sai
Công cụ chuyển đổi mili giây sang ngày miễn phí nhận một timestamp Unix tính bằng mili giây và trả về ngày giờ dễ đọc. Hầu hết sự nhầm lẫn của độc giả không phải về việc chuyển đổi - mà là về múi giờ nào mà chuỗi dễ đọc đại diện.
Hướng dẫn này đặt tên bốn giá trị bạn luôn nên đọc cùng nhau và đưa ra một kiểm tra sức khỏe 30 giây để bạn không bao giờ gửi đi một ngày lệch vài giờ.
freetoolonline.com Editorial Team| Múi giờ | Offset UTC (chuẩn) | 1713538800000 theo giờ dia phuong |
|---|---|---|
| UTC | +00:00 | 2024-04-19 15:00:00 |
| Asia/Bangkok (TH) | +07:00 | 2024-04-19 22:00:00 |
| America/Los_Angeles (US) | -07:00 (PDT) | 2024-04-19 08:00:00 |
| Europe/London (UK) | +01:00 (BST) | 2024-04-19 16:00:00 |
Vì sao cùng một timestamp hiển thị ngày khác nhau
Một timestamp Unix mili giây đếm số mili giây trôi qua từ Unix epoch, cố định tại 1970-01-01T00:00:00 UTC. Số này không mang múi giờ hay lịch. Mỗi hệ thống hiển thị nó chọn múi giờ riêng cho đầu ra dễ đọc: trình duyệt của bạn dùng locale của HĐH, máy chủ dùng locale của container, cơ sở dữ liệu SQL dùng múi giờ của session, và log JSON dùng gì mà người viết định dạng. Cong cu chuyên đối mili giay sáng ngay hiển thị cả UTC và giờ địa phương của bạn để bạn thấy offset trong nháy mắt.
Bốn giá trị luôn đọc cùng nhau
- Số gốc (
1713538800000) - không múi giờ. Lưu cái này trong cơ sở dữ liệu, gửi qua HTTP APIs, ghi log. Nó không bao giờ bị trôi. - Ngày/giờ UTC (
2024-04-19T15:00:00Z) - hiển thị chuẩn. Dùng trong log kiểm toán, báo cáo xuyên vùng, và bất kỳ gì được chia sẻ giữa các đội. - Ngày/giờ địa phương (
2024-04-19 22:00:00 +07:00) - cái người dùng cuối thấy. Dùng cho email, lịch sự và hiển thị cho độc giả. - ISO 8601 với offset (
2024-04-19T22:00:00+07:00) - an toàn vòng tròn. Bao gồm đồng hồ và offset, để parser downstream có thể khôi phục dùng khoảnh khắc.
Kiểm tra sức khỏe 30 giây trước khi gửi ngày
- Xác nhận đầu vào là mili giây, không phải giây. Số 13 chữ số là mili giây; số 10 chữ số là giây. Xem so dai - mili giay hay giay? để biết quy tắc.
- Ghi chú giá trị UTC mà công cụ chuyển đổi trả về. Day là cau tra lỗi chuan, không múi giờ.
- Cộng offset địa phương vào UTC (ví dụ +07:00 cho Bangkok, -08:00 cho Los Angeles, có tính giờ mùa hè). Giá trị địa phương nên khớp.
- Nếu giá trị địa phương không khớp, múi giờ HĐH của bạn được đặt khác với giả định của bạn. Điều chỉnh HĐH hoặc diễn giải UTC trực tiếp.
UTC vs địa phương trong thực tế
Dùng UTC cho lưu trữ và truyền tải. Cột cơ sở dữ liệu, JSON qua HTTP, tệp log, dấu vết kiểm toán. Giá trị UTC không trôi qua các chuyển đổi giờ mùa hè và không thay đổi theo vùng triển khai.
Chỉ dùng giờ địa phương để hiển thị. Lịch sự kiện, email cho người dùng, nhắc nhở. Chuyển sang địa phương ở tầng render, không phải ở tầng lưu trữ. Cùng một dòng cơ sở dữ liệu sẽ hiển thị là 22:00 giờ Bangkok và 08:00 giờ LA - điều đó đúng, không phải lỗi.
Dùng ISO 8601 với offset cho các trường hợp trung gian. Khi bạn gửi một giá trị đến hệ thống downstream có thể không biết múi giờ người dùng, hãy ưu tiên dạng ISO có kèm offset. Tránh văn bản tự do "19 tháng 4 lúc 22 giờ" - không thể parse.
Các hướng dẫn đồng hành
- So dai - mili giay hay giay? - khu nhap nhàng dau vao.
- Timestamp Unix giai thich - epoch là gi và định dạng đến tự dau.
- Cong cu chuyên đối mili giay sáng ngay - chinh công cu.
- Lay giờ hien tài tinh bang mili giay - chieu nguoc lai.
- chuyen đối mili giay sáng ngay thang - tài lieu tham khao ms-to-date với công cu chuyên đối nhanh.
- gio hien tài tinh bang mili giay - cách lay giá tri epoch hien tài bang JavaScript.
Câu hỏi thường gặp
Vì sao công cụ chuyển đổi hiển thị hai giờ khác nhau cho cùng một đầu vào?
Chúng là cùng một khoảnh khắc trong các múi giờ khác nhau. So nay không múi giờ; giá tri UTC là hien thì chuẩn và giá tri dia phương là cung khoảnh khac do nhin tự mũi giờ HDH của ban. Sự khác biệt là offset địa phương.
Giờ địa phương trông sai - làm sao tôi sửa?
Giờ địa phương là bất cứ thứ gì HĐH của bạn báo cáo là múi giờ hiện tại. Nếu laptop của bạn được đặt sang Singapore nhưng bạn mong đợi Bangkok, giá trị địa phương sẽ lệch một giờ. Điều chỉnh múi giờ HĐH, hoặc diễn giải giá trị UTC và áp dụng offset mà bạn thực sự muốn.
Giờ mùa hè có thay đổi chuyển đổi không?
Có - với bất kỳ múi giờ nào quan sát DST, offset địa phương dịch chuyển một giờ hai lần mỗi năm. Giá trị UTC không bao giờ thay đổi. Hai timestamp từ hai phía của một ranh giới DST trông cách nhau một giờ trong giờ địa phương ngay cả khi số mili giây trôi qua là đúng.
Tôi có thể lưu giờ địa phương trực tiếp trong cơ sở dữ liệu không?
Có, nhưng hiếm khi là ý tưởng tốt. Lưu UTC và render địa phương tại nơi đọc là chuẩn; nó sống qua việc chuyển máy chủ, thay đổi vùng và chuyển đổi DST. Lưu giờ địa phương buộc mỗi người đọc phải biết người viết ở múi giờ nào - thường là mất.
Có gì được gửi đến máy chủ không?
Việc chuyển đổi chạy trong trình duyệt của bạn; đầu vào mili giây và các chuỗi kết quả ở lại trên thiết bị của bạn. Điều này quan trọng khi timestamp xác định một sự kiện nhạy cảm mà bạn không muốn ghi log.