Ở bài này ta sẽ tìm hiểu về Datetime trong python.
Python Dates
Ngày tháng trong Python không phải là một kiểu dữ liệu riêng, nhưng chúng ta có thể nhập một module có tên datetime để làm việc với ngày tháng làm đối tượng ngày tháng.
Ví dụ: Nhập mô-đun datetime và hiển thị ngày hiện tại:
import datetime x = datetime.datetime.now() print(x)
Date output
Khi chúng ta thực thi đoạn mã từ ví dụ trên, kết quả sẽ là: 2023-09-13 09:42:19.138294
Ngày chứa năm, tháng, ngày, giờ, phút, giây và micro giây.
Module datetime có nhiều phương thức để trả về thông tin về đối tượng date.
Dưới đây là một vài ví dụ, bạn sẽ tìm hiểu thêm về chúng ở phần sau của chương này:
Ví dụ: Trả về năm và tên ngày trong tuần:
import datetime x = datetime.datetime.now() print(x.year) print(x.strftime("%A"))
Tạo đối tượng Date
Để tạo một ngày, chúng ta có thể sử dụng lớp datetime() (hàm tạo) của module datetime.
Lớp datetime() yêu cầu ba tham số để tạo ngày: năm, tháng, ngày.
Ví dụ: Tạo một đối tượng ngày:
import datetime x = datetime.datetime(2020, 5, 17) print(x)
Lớp datetime() cũng lấy các tham số về thời gian và múi giờ (giờ, phút, giây, micro giây, tzone), nhưng chúng là tùy chọn và có giá trị mặc định là 0, ( None cho múi giờ).
Phương thức strftime()
Đối tượng datetime có một phương thức để định dạng các đối tượng ngày tháng thành các chuỗi có thể đọc được.
Phương thức này được gọi là strftime() lấy một tham số, format, để chỉ định định dạng của chuỗi trả về:
Ví dụ: Hiển thị tên tháng:
import datetime x = datetime.datetime(2018, 6, 1) print(x.strftime("%B"))
Một tài liệu tham khảo của tất cả các mã định dạng pháp lý:
Định dạng | Mô tả | Ví dụ |
%a | Ngày trong tuần, phiên bản ngắn | Wed |
%A | Ngày trong tuần, phiên bản đầy đủ | Wednesday |
%w | Ngày trong tuần là số 0-6, 0 là Chủ nhật | 3 |
%d | Ngày trong tháng 01-31 | 31 |
%b | Tên tháng, phiên bản ngắn | Dec |
%B | Tên tháng, phiên bản đầy đủ | December |
%m | Tháng dưới dạng số 01-12 | 12 |
%y | Năm, phiên bản ngắn, không có thế kỷ | 18 |
%Y | Năm, phiên bản đầy đủ | 2018 |
%H | Giờ 00-23 | 17 |
%I | Giờ 00-12 | 5 |
%p | sáng/chiều | PM |
%M | Phút 00-59 | 41 |
%S | Thứ hai 00-59 | 8 |
%f | Micro giây 000000-999999 | 548513 |
%z | bù UTC | 100 |
%Z | Múi giờ | CST |
%j | Số ngày năm 001-366 | 365 |
%U | Số tuần trong năm, Chủ Nhật là ngày đầu tuần, 00-53 | 52 |
%W | Số tuần trong năm, Thứ Hai là ngày đầu tiên trong tuần, 00-53 | 52 |
%c | Phiên bản địa phương của ngày và giờ | Mon Dec 31 17:41:00 2018 |
%C | Thế kỷ | 20 |
%x | Phiên bản địa phương của ngày | 12/31/2018 |
%X | Phiên bản thời gian địa phương | 17:41:00 |
%% | Một nhân vật | % |
%G | ISO 8601 năm | 2018 |
%u | ISO 8601 ngày thường (1-7) | 1 |
%V | ISO 8601 Số tuần (01-53) | 1 |
Nếu bạn là newbie có thể tham khảo bài viết này để tìm hiểu lộ trình học DA trong 3 tháng của SmartData.
Nếu bạn thấy bài viết hay và hữu ích, bạn có thể tham gia các kênh sau của SmartData để nhận được nhiều hơn nữa: