Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách chuyển đổi giá trị timestamp thành đối tượng datetime và đối tượng datetime thành giá trị timestamp trong Python cùng với các ví dụ cụ thể để bạn dễ hình dung và nắm bắt giá trị này tốt hơn.
Trong cơ sở dữ liệu, lưu trữ ngày và giờ dưới dạng giá trị timestamp là khá phổ biến.
Unix timestamp hay thời gian Unix là hệ thống diễn tả một điểm trên trục thời gian, sử dụng số giây để xác định thời điểm, với điểm gốc từ thời điểm 00:00:00 ngày 1/1/1970 theo giờ UTC.
Ví dụ: Lúc 13:54:27 – 21/05/2019 có giá trị timestamp là 1558446867; Có nghĩa là tính từ 00:00:00 – 1/1/1970 đến 13:54:27 – 21/05/2019 là 1558446867 giây.
Ví dụ 1: Chuyển đổi giá trị timestamp thành datetime
from datetime import datetime
timestamp = 1562907183
dt_object = datetime.fromtimestamp(timestamp)
print("dt_object =", dt_object)
print("type(dt_object) =", type(dt_object))
Chạy chương trình, kết quả trả về ngày giờ tương ứng với giá trị timestamp 1562907183:
dt_object = 2019-07-12 11:53:03
type(dt_object) = <class 'datetime.datetime'>
Ở đây, ta import lớp datetime từ module datetime rồi sử dụng phương thức datetime.fromtimestamp() để trả về ngày giờ cục bộ (đối tượng datetime) được lưu trữ trong biến dt_object.
Bạn có thể dễ dàng tạo một chuỗi hiển thị thời gian bằng phương thức strftime().
Ví dụ 2: Chuyển đổi datetime thành giá trị timestamp
Bạn có thể lấy ra giá trị timestamp từ một đối tượng datetime bằng phương thức datetime.timestamp().
from datetime import datetime
# ngay gio hien tai
now = datetime.now()
timestamp = datetime.timestamp(now)
print("timestamp =", timestamp)
print("Ngay gio hien tai:", now)
timestamp = 1562915824.395594
Ngay gio hien tai: 2019-07-12 14:17:04.395594