Công cụ chuyển đổi UNIX Timestamp (online) | Miễn phí
UNIX timestamp hiện tại
Timestamp → Ngày & Giờ
Ngày & Giờ → Timestamp
Công cụ chuyển đổi UNIX Timestamp (trực tuyến)
Công cụ chuyển đổi UNIX timestamp này cho phép bạn nhanh chóng chuyển đổi thời gian UNIX (epoch time / POSIX time) sang ngày và giờ và ngược lại. Nó hỗ trợ timestamp ở dạng giây và mili giây, hiển thị giờ địa phương, UTC cũng như ISO 8601 và kết quả có thể được sao chép chỉ với một cú nhấp chuột.
UNIX timestamp (epoch time / POSIX time) là gì?
UNIX timestamp là một con số biểu thị thời gian dưới dạng số giây kể từ 00:00:00 UTC ngày 1 tháng 1 năm 1970 (còn gọi là kỷ nguyên UNIX). Trên thực tế, đây là một trong những định dạng phổ biến nhất để lưu trữ và truyền ngày và giờ trong các hệ thống, cơ sở dữ liệu, API và ghi nhật ký.
Ví dụ: 1700000000 tương ứng với ngày 14 tháng 11 năm 2023 22:13:20 UTC.
Tại sao lại là ngày 1 tháng 1 năm 1970?
Ngày bắt đầu của kỷ nguyên (1970-01-01) được chọn trong quá trình thiết kế UNIX như một điểm tham chiếu thực tế: nó gần với thời kỳ hệ thống được tạo ra và cho phép tính toán thời gian đơn giản.
UNIX timestamp ở dạng giây và mili giây
UNIX timestamp thường xuất hiện dưới hai dạng:
| Định dạng timestamp | Ví dụ | Ứng dụng điển hình |
|---|---|---|
| Giây (s) | 1700000000 | cơ sở dữ liệu, backend, API, tệp |
| Mili giây (ms) | 1700000000000 | JavaScript (Date.now()), phân tích, nhật ký chi tiết |
Làm sao để biết bạn đang dùng loại nào?
- Giây thường có 10 chữ số đối với dữ liệu “ngày nay”.
- Mili giây thường có 13 chữ số và lớn hơn khoảng 1000 lần.
- Ước tính: nếu giá trị > 10¹², gần như chắc chắn là mili giây.
Cách sử dụng công cụ chuyển đổi UNIX timestamp
1) Timestamp → Ngày & Giờ
- Nhập UNIX timestamp vào trường hoặc nhấp vào Ngay bây giờ (thời gian UNIX hiện tại).
- Nếu timestamp ở dạng mili giây, hãy kích hoạt tùy chọn Sử dụng mili giây.
- Nhấp vào Chuyển đổi (hoặc nhấn Enter).
- Kết quả chuyển đổi sang giờ địa phương, UTC và ISO 8601 sẽ được hiển thị.
- Nhấp vào kết quả để sao chép vào khay nhớ tạm.
2) Ngày & Giờ → Timestamp
- Chọn ngày và giờ trong biểu mẫu.
- Nhấp vào Chuyển đổi.
- Bạn sẽ nhận được kết quả dưới dạng timestamp ở dạng giây và mili giây.
UNIX timestamp thường được sử dụng ở đâu?
Thời gian UNIX có mặt ở hầu hết mọi nơi khi làm việc với thời gian trong lĩnh vực IT:
- Cơ sở dữ liệu – lưu trữ và so sánh thời gian trong MySQL, PostgreSQL, SQLite, v.v.
- API – REST/GraphQL thường trả về thời gian dưới dạng timestamp (dễ dàng tuần tự hóa).
- Nhật ký và giám sát – sắp xếp chính xác các sự kiện theo thời gian.
- Git – các commit chứa dữ liệu thời gian.
- Hệ thống tệp – thời gian như mtime/ctime/atime (thời gian sửa đổi cuối cùng, v.v.).
- JWT – các claim
iat(issued at) vàexp(expires) thường ở dạng giây epoch. - Shell Linux/Unix –
date +%strả về timestamp hiện tại. - JavaScript –
Date.now()trả về thời gian dưới dạng mili giây.
Các ví dụ thực tế về chuyển đổi thời gian UNIX
JavaScript (timestamp ↔ ngày)
// UNIX timestamp hiện tại ở dạng giây
const tsSeconds = Math.floor(Date.now() / 1000);
// Timestamp hiện tại ở dạng mili giây
const tsMs = Date.now();
// Timestamp (s) -> ngày
const dateFromSeconds = new Date(1700000000 * 1000);
console.log(dateFromSeconds.toISOString());
// Ngày -> timestamp (s)
const ts = Math.floor(new Date("2024-01-01T00:00:00Z").getTime() / 1000);
console.log(ts);
Python (timestamp ↔ datetime)
import time
from datetime import datetime, timezone
# Timestamp hiện tại ở dạng giây
ts = int(time.time())
# Timestamp -> datetime (UTC)
dt_utc = datetime.fromtimestamp(1700000000, tz=timezone.utc)
# Ngày -> timestamp
ts2 = int(datetime(2024, 1, 1, tzinfo=timezone.utc).timestamp())
SQL (MySQL)
-- UNIX timestamp hiện tại (s)
SELECT UNIX_TIMESTAMP();
-- Timestamp -> ngày
SELECT FROM_UNIXTIME(1700000000);
-- Ngày -> timestamp
SELECT UNIX_TIMESTAMP('2024-01-01 00:00:00');
Múi giờ: UTC, giờ địa phương và ISO 8601
UNIX timestamp luôn ở múi giờ UTC – không chứa thông tin về múi giờ hoặc giờ tiết kiệm ánh sáng ban ngày. Việc chuyển đổi sang giờ địa phương phụ thuộc vào cài đặt trình duyệt, máy chủ hoặc thư viện được sử dụng.
Các thuật ngữ cần biết:
- UTC – tiêu chuẩn toàn cầu không có giờ mùa hè/mùa đông.
- GMT – trong sử dụng thông thường thực tế giống với UTC.
- Offset – độ lệch so với UTC (ví dụ: Hà Nội UTC+7).
Giới hạn của UNIX timestamp và sự cố năm 2038
Sự cố năm 2038 (Year 2038 Problem)
Trên một số hệ thống 32-bit, timestamp được lưu trữ dưới dạng int32 với giá trị tối đa là 2.147.483.647, tương ứng với 03:14:07 UTC ngày 19 tháng 1 năm 2038. Sau khi vượt quá, có thể xảy ra tràn số và lỗi thời gian. Các hệ thống 64-bit hiện đại thường không gặp vấn đề này.
Phạm vi thời gian UNIX 64-bit
Các giá trị 64-bit bao phủ một khoảng thời gian cực kỳ rộng (trong thực tế là “mãi mãi”). Các giá trị âm biểu thị ngày trước ngày 1 tháng 1 năm 1970.
FAQ – Các câu hỏi thường gặp về UNIX timestamp
UNIX timestamp có phải là UTC hay giờ địa phương không?
UNIX timestamp luôn ở UTC. Giờ địa phương chỉ xuất hiện khi chuyển đổi theo múi giờ. Do đó, công cụ chuyển đổi thường hiển thị cả UTC và giờ địa phương.Làm sao để biết timestamp ở dạng giây hay mili giây?
Đối với thời điểm hiện tại, timestamp ở dạng giây thường có 10 chữ số. Ở dạng mili giây, nó thường có 13 chữ số và lớn hơn khoảng 1000 lần. Ước tính: giá trị > 10¹² thường là mili giây.UNIX timestamp âm nghĩa là gì?
Timestamp âm biểu thị ngày trước ngày 1 tháng 1 năm 1970. Ví dụ:-1 tương ứng với 31 tháng 12 năm 1969 23:59:59 UTC.
Làm thế nào để chuyển đổi UNIX timestamp trong SQL?
Trong MySQL, bạn sử dụngFROM_UNIXTIME(timestamp) và ngược lại là UNIX_TIMESTAMP(datum). Trong PostgreSQL, thường là TO_TIMESTAMP(timestamp) và EXTRACT(EPOCH FROM datum).