# Chuyển đổi dấu thời gian Unix

URL: https://discuvr.org/timestamp-converter/?hl=vi
Last updated: 2026-11-08
MCP tool: `convert_unix_timestamp`

Chuyển thời gian epoch Unix sang ngày giờ theo UTC hoặc múi giờ lớn và ngược lại. Tự nhận diện giây, ms, µs hoặc ns và cảnh báo khoảng trống giờ mùa hè.

Log, cơ sở dữ liệu và API lưu thời gian dưới dạng Unix timestamp: số giây tính từ ngày 1 tháng 1 năm 1970 UTC. Dán một giá trị vào đây để xem ngày giờ thực theo múi giờ của bạn, hoặc đổi một ngày thành timestamp mà câu truy vấn hay lệnh gọi API cần.

## Chức năng

- Tự nhận biết timestamp tính bằng giây, mili giây, micro giây hay nano giây dựa vào độ lớn.
- Hiển thị ngày theo múi giờ bạn chọn kèm độ lệch UTC, cùng ISO 8601 theo UTC và giờ địa phương.
- Chuyển ngày giờ dạng dd/mm/yyyy ngược lại thành giây và mili giây.
- Cảnh báo khi một giờ địa phương bị bỏ qua hoặc lặp lại do chuyển đổi giờ mùa hè.
- Đồng hồ trực tiếp hiển thị thời gian Unix hiện tại, sẵn sàng để sao chép.

## Cách thức hoạt động

1. Chọn múi giờ của bạn (múi giờ của trình duyệt được chọn sẵn nếu có trong danh sách).
2. Dán timestamp rồi nhấn Convert, hoặc nhập một ngày để lấy timestamp của nó.
3. Sao chép định dạng bạn cần.

## Giây hay mili giây: cách nhận biết đơn vị

Timestamp của một ngày hiện nay có 10 chữ số nếu tính bằng giây (1767225600 là ngày 1 tháng 1 năm 2026, 00:00 UTC), 13 chữ số với mili giây, 16 với micro giây và 19 với nano giây. Công cụ dựa vào độ lớn: giá trị dưới 10^11 được coi là giây, dưới 10^14 là mili giây, dưới 10^17 là micro giây, còn lớn hơn là nano giây. Date.now() của JavaScript và hầu hết API Java trả về mili giây; các công cụ Unix, time.time() của Python và hầu hết cơ sở dữ liệu trả về giây. Bạn có thể tự chọn lại đơn vị.

## Múi giờ và giờ mùa hè

Unix timestamp luôn là UTC; múi giờ chỉ quan trọng khi hiển thị cho người xem. Theo chiều ngược lại, giờ địa phương có thể mơ hồ: khi đồng hồ lùi lại, 01:30 xảy ra hai lần, còn khi đồng hồ tiến lên, 02:30 không bao giờ xảy ra. Công cụ cảnh báo trong cả hai trường hợp thay vì âm thầm chọn một, đây thường là nguyên nhân khiến báo cáo lệch một giờ hai lần mỗi năm.

## Timestamp âm, phần thập phân và phạm vi hợp lệ

Timestamp âm là một ngày trước năm 1970: -86400 là 31/12/1969 lúc 00:00 UTC. Công cụ chấp nhận mọi thời điểm từ -62135596800 (01/01/0001 00:00:00 UTC) đến 253402300799 (31/12/9999 23:59:59 UTC). Phần thập phân được giữ là phần lẻ của giây, nên 1700000000.5 là 14/11/2023 lúc 22:13:20.5 UTC. Việc nhận diện chỉ dựa vào độ lớn, nên giá trị mili giây trước 03/03/1973 có tối đa 11 chữ số và bị đọc là giây: 86400000 hiện 27/09/1972 thay vì 02/01/1970. Với những giá trị cũ như vậy, hãy chọn đơn vị Mili giây.

## Chuyển đổi timestamp trong Excel, Google Sheets và SQL

Trong Excel hoặc Google Sheets, =A1/86400+DATE(1970,1,1) đổi số giây ở ô A1 thành ngày giờ UTC (chia cho 86400000 nếu là mili giây); định dạng ô là ngày và giờ. Nếu Excel của bạn dùng dấu phẩy làm dấu thập phân, hãy ngăn cách đối số bằng dấu chấm phẩy: =A1/86400+DATE(1970;1;1). Để có giờ địa phương, cộng độ lệch UTC tính bằng giờ chia cho 24, ví dụ +7/24 cho Hà Nội. =(A1-DATE(1970,1,1))*86400 đổi ngày ngược lại thành giây. Trong PostgreSQL, to_timestamp(1700000000) trả về timestamptz và EXTRACT(EPOCH FROM cot) đổi ngược lại; trong MySQL, FROM_UNIXTIME(1700000000) và UNIX_TIMESTAMP(cot) dùng múi giờ của phiên. Dán cùng giá trị vào đây để kiểm tra công thức: 1700000000 phải ra 14/11/2023 22:13:20 UTC.

## Câu hỏi

**Tại sao ngày sau khi chuyển đổi lại là năm 1970?**

Có thể giá trị tính bằng giây nhưng bị đọc thành mili giây, hoặc trong hệ thống nguồn nó bằng 0 hay để trống. Một ngày trong tháng 1 năm 1970 gần như luôn là giá trị bị thiếu, không phải sự kiện thật.

**Giây nhuận có được tính không?**

Không. Thời gian Unix bỏ qua giây nhuận, nên mỗi ngày đúng 86.400 giây. Điều này khớp với cách máy tính, cơ sở dữ liệu và API lưu thời gian.

**Làm sao phân biệt giây với mili giây?**

Đếm số chữ số. Hiện nay timestamp tính bằng giây có 10 chữ số, tính bằng mili giây có 13. Công cụ tự nhận biết điều này, và bạn cũng có thể tự đặt đơn vị.

**Unix timestamp có múi giờ không?**

Không. Nó đếm số giây từ một thời điểm duy nhất theo UTC, nên cùng một timestamp là cùng một khoảnh khắc ở mọi nơi. Chỉ cách hiển thị mới phụ thuộc vào múi giờ.

**Điều gì xảy ra vào năm 2038?**

Các hệ thống lưu timestamp dưới dạng số nguyên có dấu 32-bit sẽ bị tràn số vào ngày 19/01/2038. Công cụ này dùng số đầy đủ kích thước và xử lý ngày đến năm 9999.

**Làm sao lấy Unix timestamp hiện tại trong code?**

Trong JavaScript, Math.floor(Date.now() / 1000) cho ra giây; riêng Date.now() cho ra mili giây. Trong Python, int(time.time()). Trong shell Linux hoặc macOS, date +%s. Trong PostgreSQL, EXTRACT(EPOCH FROM now()) (có phần thập phân), và trong MySQL, UNIX_TIMESTAMP(). Đồng hồ trực tiếp trên trang này hiển thị cùng giá trị đó theo giây, sẵn sàng để sao chép.

**Tôi có thể chọn những múi giờ nào?**

40 múi giờ phổ biến từ cơ sở dữ liệu múi giờ IANA, mỗi múi mang tên một thành phố, từ UTC và Asia/Kolkata (Ấn Độ) đến America/Los_Angeles và Pacific/Auckland. Mỗi múi áp dụng quy tắc giờ mùa hè riêng cho ngày bạn chuyển đổi. Múi giờ của trình duyệt được chọn sẵn nếu có trong danh sách; nếu không, trang bắt đầu với UTC. Nếu không có thành phố của bạn, hãy chọn một thành phố trong danh sách có cùng giờ hôm nay, ví dụ Asia/Ho_Chi_Minh cho Hà Nội.

**Làm sao đổi giờ từ múi giờ này sang múi giờ khác, ví dụ từ IST sang EST?**

Dùng cả hai thẻ. Chọn múi giờ Asia/Kolkata, nhập 14/11/2023 và 10:00 ở Ngày giờ sang dấu thời gian rồi bấm Chuyển đổi: bạn được 1699936200. Dán số đó vào Dấu thời gian sang ngày giờ, rồi đổi múi giờ sang America/New_York. Lúc này Dấu thời gian sang ngày giờ hiển thị 13/11/2023 23:30:00 với độ lệch UTC -05:00, tức tối hôm trước ở New York. Giờ mùa hè được áp dụng theo ngày bạn nhập, nên 10:00 ở Ấn Độ ngày 14/07/2023 là 00:30 ngày 14/07/2023 ở New York, ở mức -04:00. Khi đổi múi giờ, ngày đã nhập ở Ngày giờ sang dấu thời gian cũng được đọc lại theo giờ New York, vì vậy hãy lấy kết quả ở Dấu thời gian sang ngày giờ.

**Vì sao dấu thời gian Active Directory 18 chữ số lại hiện ngày trong thập niên 1970?**

Các thuộc tính như lastLogonTimestamp và pwdLastSet là giá trị Windows FILETIME: số khoảng 100 nano giây tính từ 01/01/1601 UTC, không phải thời gian Unix. Dán nguyên 133446720000000000 thì số này được đọc là nano giây và hiện 25/03/1974. Hãy chia cho 10000000 rồi trừ 11644473600 trước: kết quả 1700198400 là 17/11/2023 05:20:00 UTC. Trong Excel, =A1/864000000000-109205 cho cùng ngày giờ UTC; trong PowerShell, dùng [DateTime]::FromFileTimeUtc(133446720000000000).

**Làm sao chuyển một thời điểm ISO 8601 như 2023-11-14T22:13:20+05:30?**

Nhập từng phần vào Ngày giờ sang dấu thời gian: 14/11/2023 là ngày và 22:13:20 là giờ. Chọn múi giờ có cùng độ lệch vào ngày đó, Asia/Kolkata cho +05:30 hoặc UTC cho giá trị kết thúc bằng Z, rồi bấm Chuyển đổi: kết quả là 1699980200. Nếu không múi giờ nào trong danh sách có độ lệch đó, hãy tự trừ đi và nhập giờ theo UTC: 22:13:20+05:30 là 16:43:20 UTC. Dấu thời gian sang ngày giờ hiển thị ISO 8601 theo UTC và giờ địa phương, sẵn sàng để sao chép.

## Thêm trong Công cụ lập trình

- [Trình tạo sơ đồ hệ thống](https://discuvr.org/system-diagram/?hl=vi)
- [Trình định dạng JSON](https://discuvr.org/json-formatter/?hl=vi)
- [Công cụ định dạng Python](https://discuvr.org/python-formatter/?hl=vi)
- [Trình xem HTML](https://discuvr.org/html-viewer/?hl=vi)

## Thường dùng cùng

- [Tính khoảng cách giữa hai ngày](https://discuvr.org/date-difference/?hl=vi)
- [Mã hóa / Giải mã](https://discuvr.org/encode-decode/?hl=vi)

---

Part of Discuvr (https://discuvr.org/): Discuvr is a collection of free, focused tools for day-to-day professional work - office and data utilities, legal and compliance helpers, privacy and security checks, and developer formatters. Every tool has its own page, and most can also be called from ChatGPT or Claude over MCP.
