Chuyển đổi Unix Timestamp (Epoch ↔ Ngày giờ)

Dán thời gian epoch để xem dưới dạng ngày giờ ở bất kỳ múi giờ nào, hoặc chọn một ngày để lấy Unix timestamp của nó. Giây, mili giây, micro giây và nano giây được nhận diện tự động.

Chạy trên trình duyệtKhông cần đăng kýKhông tải lên gì

0giây
0mili giây

Timestamp → Ngày giờ

Ngày giờ → Timestamp

Cách dùng Chuyển đổi Unix Timestamp

  1. Unix time hiện tại chạy ở phía trên; sao chép nó dưới dạng giây hoặc mili giây.
  2. Dán một timestamp (hoặc ngày ISO như 2026-10-12T10:00:00Z) vào Timestamp → Ngày giờ. Đơn vị được nhận diện theo số chữ số.
  3. Chọn múi giờ để xem cùng thời điểm đó theo giờ địa phương, kèm UTC, ISO 8601, RFC 2822, thời gian tương đối và số tuần.
  4. Để chuyển chiều ngược lại, chọn ngày và giờ trong Ngày giờ → Timestamp. Giá trị được hiểu là giờ địa phương ở múi giờ đã chọn, có tính cả giờ mùa hè.
  5. Dùng các nút Sao chép bên cạnh mỗi giá trị.

Unix timestamp là gì?

Unix timestamp (epoch time, POSIX time) là số giây đã trôi qua kể từ 1970-01-01 00:00:00 UTC, không tính giây nhuận. Nó mô tả một thời điểm duy nhất bất kể múi giờ, đó là lý do cơ sở dữ liệu, log, claim exp của JWT và API dùng nó. Múi giờ chỉ quan trọng khi bạn chuyển thời điểm đó thành ngày tháng và giờ cho con người đọc.

Giây, mili giây, micro giây hay nano giây?

Các nền tảng khác nhau đếm theo đơn vị khác nhau, và nhầm lẫn giữa chúng là lỗi kinh điển (ngày rơi vào năm 1970 hoặc năm 55.000). Công cụ dựa vào số chữ số:

Số chữ số (hiện nay)Đơn vịNguồn thường gặp
10giâyUnix date +%s, PHP time(), claim JWT, Python int(time.time())
13mili giâyJavaScript Date.now(), Java System.currentTimeMillis()
16micro giâyNội bộ PostgreSQL, một số hệ thống tracing
19nano giâyGo time.UnixNano(), Python time.time_ns()

Lấy timestamp hiện tại trong code

// JavaScript
Math.floor(Date.now() / 1000)
# Python
import time; int(time.time())
# Bash
date +%s
-- PostgreSQL
SELECT extract(epoch FROM now());

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

Khi bạn chuyển ngày giờ thành timestamp, giờ địa phương được hiểu theo múi giờ IANA đã chọn (ví dụ Europe/Istanbul hoặc America/New_York) dựa trên cơ sở dữ liệu múi giờ của trình duyệt. Khi đồng hồ chỉnh tiến lên, một số giờ địa phương không tồn tại; khi chỉnh lùi lại, cùng một giờ địa phương xuất hiện hai lần và thời điểm sớm hơn được dùng. Công cụ sẽ báo cho bạn khi điều này xảy ra.

Sự cố năm 2038

Hệ thống lưu giây bằng số nguyên có dấu 32-bit sẽ bị tràn tại 2147483647, tức 2038-01-19 03:14:07 UTC. Các nền tảng hiện đại dùng giá trị 64-bit, nhưng hệ thống nhúng cũ và cột cơ sở dữ liệu cũ vẫn có thể bị ảnh hưởng.

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

Làm sao biết timestamp của tôi tính bằng giây hay mili giây?
Đếm số chữ số. Ngày hiện tại có 10 chữ số nếu tính bằng giây và 13 chữ số nếu tính bằng mili giây. Công cụ tự động nhận diện và cho bạn biết đơn vị đã dùng.
Unix timestamp có luôn là UTC không?
Có. Bản thân timestamp không có múi giờ; nó đếm số giây kể từ nửa đêm UTC ngày 1 tháng 1 năm 1970. Múi giờ chỉ được áp dụng khi bạn hiển thị nó thành ngày giờ địa phương.
Tôi có thể chuyển đổi timestamp âm không?
Có. Giá trị âm là các thời điểm trước năm 1970, ví dụ -86400 là 1969-12-31 00:00:00 UTC.
Unix time có tính giây nhuận không?
Không. Mỗi ngày Unix có đúng 86.400 giây, nên giây nhuận không được tính. Điều này giúp việc tính toán ngày tháng đơn giản.
Tôi có thể dán ngày ISO 8601 thay vì số không?
Có. Các chuỗi như 2026-10-12T10:00:00Z hoặc 2026-10-12T10:00:00+03:00 được phân tích và hiển thị ở mọi định dạng, kể cả Unix timestamp của chúng.

Công cụ liên quan