./prontouso.com
CÔNG CỤ LẬP TRÌNH

Chuyển Đổi Unix Timestamp

Chuyển đổi Epoch Unix Timestamp tính bằng giây hoặc mili-giây sang ngày giờ đọc được, UTC, giờ địa phương và chuẩn ISO 8601, hoặc tạo timestamp từ ngày giờ tức thì.

Trạng thái công cụChạy trên trình duyệt của bạn
Xem trước
prontouso://dev/unix-timestamp-converterINPUT → INSTANT → FORMATS
NOW ON YOUR DEVICE—
UNIX · SECONDS—
UNIX · MILLISECONDS—

Enter the timestamp

The unit can be detected automatically or set manually.

INPUT
Detected: Seconds10 DIGITS
How should the number be interpreted?
Examples
Auto is a guess. Today, values around 10 digits usually represent seconds and 13 digits, milliseconds. If your system uses another convention, pick the unit explicitly.

Same instant, different formats

Copy whichever representation your code, API, or log needs.

RESULT
READABLE DATE · LOCALVALID
—
—
—
—AFTER THE EPOCH
RepresentationsCLICK TO COPY
UNIX · SECONDS1704067200
UNIX · MILLISECONDS1704067200000
ISO 8601 · UTC2024-01-01T00:00:00.000Z
UTC / RFC 1123Mon, 01 Jan 2024 00:00:00 GMT
LOCAL TIME—
INTERPRETATIONSecondsdetected automatically
INPUT DIGITS10without the minus sign
DISTANCE FROM THE EPOCHafter · 54 năm1970-01-01T00:00:00Z
USE IN CODE
const date = new Date(1704067200000);
console.log(date.toISOString());

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

  1. Nhập dữ liệu của bạn

    Điền các giá trị cần thiết, dán văn bản hoặc tải lên tệp bạn muốn xử lý.

  2. Xem kết quả tức thì

    Hầu hết các công cụ cập nhật theo thời gian thực khi bạn nhập liệu; một số công cụ sử dụng một nút hành động duy nhất.

  3. Sử dụng kết quả

    Sao chép, tải xuống hoặc chia sẻ kết quả được tạo — bạn luôn có toàn quyền kiểm soát dữ liệu của mình.

Quyền riêng tư & xử lý dữ liệu — Chạy cục bộ 100% trên trình duyệt của bạn. Công cụ này không tải dữ liệu của bạn lên máy chủ.

Chuyển Đổi Unix Timestamp là gì?

Trình Chuyển Đổi Unix Timestamp là công cụ thiết yếu cho các lập trình viên và quản trị viên hệ thống, cho phép chuyển đổi ngay lập tức dấu thời gian Epoch (dạng giây hoặc mili-giây) sang các định dạng ngày giờ dễ đọc như ISO 8601, UTC và giờ địa phương, hoặc tạo timestamp từ ngày giờ thực tế.

TÌM HIỂU CÁCH HOẠT ĐỘNG CỦA CÔNG CỤ

Cách Chuyển Đổi Unix Timestamp, Múi Giờ và Ngày Epoch

Tìm hiểu cách đọc giá trị Epoch theo giây và mili-giây, thực hiện chuyển đổi hai chiều chuẩn xác và nắm vững cách quy đổi giữa giờ UTC và giờ địa phương.

Kỷ nguyên Unix (Epoch) là gì và tại sao lại mang tính toàn cầu

Unix timestamp thể hiện tổng số giây (hoặc mili-giây) trôi qua kể từ thời điểm 00:00:00 ngày 1 tháng 1 năm 1970 theo Giờ phối hợp quốc tế (UTC), mốc thời gian chuẩn được gọi là Kỷ nguyên Unix (Unix Epoch).

Nhờ là một số nguyên tuyến tính duy nhất, timestamp loại bỏ hoàn toàn các rắc rối liên quan đến múi giờ địa phương, định dạng lịch vùng miền và quy ước giờ mùa hè (DST), trở thành chuẩn mực cốt lõi cho việc ghi nhật ký máy chủ (log), truyền tải dữ liệu qua API và lập chỉ mục cơ sở dữ liệu.

Giây (10 chữ số) vs Mili-giây (13 chữ số)

Một lỗi phổ biến trong lập trình là sự nhầm lẫn giữa đơn vị giây và mili-giây. Các hệ thống như Linux, ngôn ngữ C, Python, PHP và cơ sở dữ liệu SQL thường lưu trữ timestamp theo đơn vị giây (hiện có độ dài 10 chữ số như 177...).

Ngược lại, môi trường JavaScript (Date.now()) và Java sử dụng đơn vị mili-giây (13 chữ số). Công cụ tự động phân tích độ dài chuỗi số để nhận diện thang đo phù hợp, đồng thời cung cấp nút chuyển đổi thủ công nhằm tránh sai lệch tính toán gấp 1.000 lần.

Múi giờ, Giờ mùa hè (DST) và chuẩn ISO 8601

Một Unix timestamp luôn đại diện cho một khoảnh khắc cố định và bất biến trong dòng thời gian. Tuy nhiên, cách chúng ta quan sát thời điểm đó sẽ phụ thuộc vào độ lệch múi giờ được thiết lập trên thiết bị người dùng.

Công cụ hiển thị đồng thời dấu thời gian dưới dạng chuẩn quốc tế ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ), giờ quốc tế UTC và giờ địa phương của máy tính bạn, đi kèm thông tin ngày trong tuần, thứ tự ngày trong năm và thời gian tương đối.

Sự cố năm 2038 (Y2038 Bug) và định dạng 64-bit

Trên các hệ thống 32-bit cũ, thời gian Unix được lưu dưới dạng số nguyên có dấu 32-bit (signed 32-bit integer). Giá trị tối đa có thể biểu diễn là 2.147.483.647, sẽ chạm ngưỡng vào đúng 03:14:07 UTC ngày 19 tháng 1 năm 2038.

Sau thời khắc đó, các hệ thống 32-bit sẽ bị tràn số nguyên (overflow) và nhảy ngược về ngày 13 tháng 12 năm 1901. Các hệ thống 64-bit hiện đại có thể xử lý mốc thời gian kéo dài hàng trăm tỷ năm, bảo đảm an toàn dữ liệu tuyệt đối.

Giây sang Mili-giây
miligiay = giayUnix * 1000
Mili-giây sang Giây Unix
giayUnix = floor(miligiay / 1000)

Ví dụ thực tế chuyển đổi Epoch

Chuyển đổi thời điểm khởi đầu năm 2024 sang giờ quốc tế và mili-giây:

Unix Timestamp: 1704067200 giây Đổi sang Mili-giây: 1704067200000 ms Định dạng ISO 8601: 2024-01-01T00:00:00.000Z Giờ Quốc Tế UTC: Thứ Hai, 01/01/2024 00:00:00 GMT Giờ Địa Phương (ví dụ ICT UTC+7): Thứ Hai, 01/01/2024 07:00:00

Xử lý 100% cục bộ và an toàn trên trình duyệt của bạn

Mọi thao tác chuyển đổi timestamp và định dạng ngày giờ đều được thực thi hoàn toàn trong trình duyệt thông qua JavaScript gốc. Không có dữ liệu thời gian hay thông tin thiết bị nào bị gửi ra máy chủ ngoài, bảo đảm quyền riêng tư tuyệt đối và hoạt động tốt ngay cả khi không có mạng.

Các Câu Hỏi Thường Gặp (FAQ)

Tại sao timestamp của tôi lại cho ra năm 1970 hoặc năm 53.000?

Điều này xảy ra do sự không tương thích về đơn vị đo. Nếu bạn nhập số giây (10 chữ số) vào chế độ mili-giây, kết quả sẽ rơi vào những ngày đầu tháng 1 năm 1970. Nếu nhập mili-giây vào chế độ giây, thời gian sẽ bị đẩy tới hàng chục nghìn năm trong tương lai. Bạn chỉ cần gạt nút chuyển đổi giữa giây và mili-giây.

Quy ước giờ mùa hè (DST) có làm thay đổi giá trị Unix timestamp không?

Không. Unix timestamp chỉ dựa trên chuẩn giờ UTC không áp dụng DST. Việc đổi giờ mùa hè chỉ ảnh hưởng đến cách hiển thị giờ dân dụng tại múi giờ địa phương của bạn.

Tôi có thể chuyển đổi dấu thời gian có giá trị âm không?

Có. Các số nguyên âm đại diện cho những thời điểm xảy ra trước ngày 1 tháng 1 năm 1970. Ví dụ, giá trị -86400 giây tương ứng với 00:00:00 UTC ngày 31 tháng 12 năm 1969.

Sự cố năm 2038 (Y2038 Bug) là gì?

Sự cố năm 2038 xảy ra trên các hệ thống 32-bit khi biến lưu trữ thời gian chạm ngưỡng cực đại 2.147.483.647 vào ngày 19/01/2038 và bị tràn số sang giá trị âm. Việc nâng cấp lên kiến trúc 64-bit khắc phục hoàn toàn sự cố này.

Làm thế nào để lấy timestamp hiện tại trong các ngôn ngữ lập trình phổ biến?

Trong JavaScript: `Math.floor(Date.now() / 1000)` (giây) hoặc `Date.now()` (ms). Trong Python: `import time; int(time.time())`. Trong PHP: `time()`. Trong terminal Linux/macOS: `date +%s`. Trong SQL: `UNIX_TIMESTAMP()` (MySQL) hoặc `EXTRACT(EPOCH FROM NOW())` (PostgreSQL).

Sự khác biệt giữa chuẩn UTC và định dạng ISO 8601 là gì?

UTC (Giờ phối hợp quốc tế) là mốc chuẩn thời gian thiên văn gốc có độ lệch bằng 0. ISO 8601 là tiêu chuẩn quốc tế quy định cách viết chuỗi ngày giờ (như 2026-08-18T20:30:00Z), trong đó ký tự 'Z' biểu thị cho múi giờ UTC.

Công Cụ Liên Quan