Dấu thời gian unix là số giây kể từ 1970-01-01 00:00:00 UTC. SQLite cung cấp cho chúng ta một số cách để lấy dấu thời gian unix.
STRFTIME()
Chức năng
STRFTIME()
hàm trả về một giá trị ngày và giờ ở định dạng được chỉ định. Chúng tôi có thể sử dụng thay thế chuỗi định dạng% s để trả về số giây kể từ 1970-01-01 00:00:00 UTC (tức là dấu thời gian unix):
SELECT STRFTIME('%s');
Kết quả:
1646695406
UNIXEPOCH()
Chức năng
UNIXEPOCH()
hàm được thiết kế đặc biệt để trả về một dấu thời gian unix. Hàm này đã được giới thiệu trong SQLite 3.38.0 (phát hành ngày 2 tháng 2 năm 2022), vì vậy nó sẽ chỉ hoạt động nếu bạn đang sử dụng SQLite 3.38.0 trở lên:
SELECT UNIXEPOCH();
Kết quả:
1646695411
Chúng tôi có thể thấy rằng các kết quả tương tự nhau, nhưng rõ ràng là có sự khác biệt do lượng thời gian tôi chạy mỗi ví dụ.
Kết hợp
Chỉ để chắc chắn rằng, họ lại ở đây. Ngoại trừ, lần này tôi chạy cả hai trong cùng một SELECT
tuyên bố:
SELECT
UNIXEPOCH(),
STRFTIME('%s');
Kết quả:
UNIXEPOCH() STRFTIME('%s') ----------- -------------- 1646695558 1646695558