Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Chuyển đổi MySQL TIMESTAMP sang UNIX Timestamp

Để chuyển đổi giá trị TIMESTAMP (hoặc DATETIME) sang số giây Unix timestamp (giây kể từ 1970-01-01 00:00:00 UTC), MySQL cung cấp hàm UNIX_TIMESTAMP().

Ví dụ minh họa

Tạo bảng:

mysql> create table DemoTable( 
    Duetimestamp timestamp 
);

Chèn dữ liệu:

mysql> insert into DemoTable values(now());
mysql> insert into DemoTable values('2016-01-21 12:34:00');
mysql> insert into DemoTable values('2018-05-01 02:00:00');
mysql> insert into DemoTable values('2017-03-02 01:10:20');

Hiển thị dữ liệu gốc:

mysql> select * from DemoTable;

Kết quả:

+---------------------+
| Duetimestamp        |
+---------------------+
| 2019-08-20 20:48:45 |
| 2016-01-21 12:34:00 |
| 2018-05-01 02:00:00 |
| 2017-03-02 01:10:20 |
+---------------------+

Truy vấn chuyển sang Unix Timestamp

mysql> select unix_timestamp(Duetimestamp) from DemoTable;

Kết quả:

+------------------------------+
| unix_timestamp(Duetimestamp) |
+------------------------------+
| 1566314325                   |
| 1453359840                   |
| 1525120200                   |
| 1488397220                   |
+------------------------------+

Giải thích:

  • UNIX_TIMESTAMP(datetime_col): Chuyển datetime → số nguyên giây (Unix epoch)
  • Ngược lại: FROM_UNIXTIME(unix_ts) chuyển số → datetime
  • Lưu ý múi giờ: TIMESTAMP lưu theo UTC, chuyển đổi tuỳ thuộc vào time_zone session

Ứng dụng: Tích hợp với API, JavaScript (Date.now()), so sánh thời gian cross-platform, cache, logging.