Nếu bạn có dấu thời gian Unix, bạn có thể sử dụng DATETIME()
của SQLite chức năng với unixepoch
công cụ sửa đổi để tính toán ngày và giờ thực tế.
Ngoài ra, bạn có thể sử dụng DATE()
chức năng nếu bạn chỉ cần ngày được trả lại. Và cũng có thể sử dụng TIME()
hàm để chỉ trả về phần thời gian.
Lấy ngày và giờ
Dưới đây là một ví dụ về việc sử dụng DATETIME()
chức năng với unixepoch
bổ ngữ:
SELECT DATETIME(1793956207, 'unixepoch');
Kết quả:
2026-11-06 09:10:07
Lấy ngày
Chúng ta có thể sử dụng DATE()
chức năng nếu chúng ta chỉ cần ngày được trả về:
SELECT DATE(1793956207, 'unixepoch');
Kết quả:
2026-11-06
Nắm bắt thời gian
Sử dụng TIME()
hàm chỉ trả về phần thời gian:
SELECT TIME(1793956207, 'unixepoch');
Kết quả:
09:10:07
Bù đắp cho Múi giờ địa phương của bạn
Bạn cũng có thể thêm localtime
công cụ sửa đổi để điều chỉnh đầu ra cho múi giờ địa phương của bạn:
SELECT DATETIME(1793956207, 'unixepoch', 'localtime');
Kết quả:
2026-11-06 19:10:07
localtime
công cụ sửa đổi giả định rằng giá trị thời gian được chỉ định ở Giờ Phối hợp Toàn cầu (UTC) và điều chỉnh giá trị thời gian đó để nó ở localtime
.
auto
Công cụ sửa đổi
Từ SQLite 3.38.0, chúng ta có thể sử dụng auto
sửa đổi thay cho unixepoch
bổ ngữ:
SELECT DATETIME(1793956207, 'auto');
Kết quả:
2026-11-06 09:10:07
Công cụ sửa đổi tự động làm cho giá trị được hiểu là số ngày Julian hoặc dấu thời gian Unix, tùy thuộc vào giá trị thực tế.
Nếu giá trị nằm trong khoảng 0.0
và 5373484.499999
, thì nó được hiểu là số ngày Julian (tương ứng với các ngày trong khoảng từ -4713-11-24 12:00:00
và 9999-12-31 23:59:59
, bao gồm). Đối với các giá trị số nằm ngoài phạm vi số ngày Julian hợp lệ, nhưng nằm trong phạm vi -210866760000
tới 253402300799
, auto
công cụ sửa đổi khiến giá trị được hiểu là dấu thời gian Unix. Các giá trị số khác nằm ngoài phạm vi và gây ra trả về NULL.