Ngày giờ trong Python
Ngày trong Python
Ngày tháng trong Python không phải là một kiểu dữ liệu của riêng nó, nhưng chúng ta có thể nhập một mô-đun có tên datetime
để làm việc với ngày tháng dưới dạng các đối tượng ngày tháng.
Thí dụ
Nhập mô-đun datetime và hiển thị ngày hiện tại:
import datetime
x = datetime.datetime.now()
print(x)
Ngày đầu ra
Khi chúng ta thực thi đoạn mã từ ví dụ trên, kết quả sẽ là:
2022-01-29 15:56:23.577986
Ngày bao gồm năm, tháng, ngày, giờ, phút, giây và micro giây.
Mô datetime
-đun có nhiều phương thức để trả về thông tin về đối tượng ngày tháng.
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:
Thí dụ
Trả lại năm và tên của ngày trong tuần:
import datetime
x = datetime.datetime.now()
print(x.year)
print(x.strftime("%A"))
Tạo đối tượng ngày
Để tạo ngày, chúng ta có thể sử dụng datetime()
lớp (hàm tạo) của
datetime
mô-đun.
Lớp datetime()
yêu cầu ba tham số để tạo ngày: năm, tháng, ngày.
Thí dụ
Tạo đối tượng ngày tháng:
import datetime
x = datetime.datetime(2020, 5, 17)
print(x)
Lớp datetime()
này cũng nhận các tham số cho 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 datetime
tượng 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 được gọi strftime()
và nhận một tham số,
format
để chỉ định định dạng của chuỗi được trả về:
Thí dụ
Hiển thị tên của tháng:
import datetime
x = datetime.datetime(2018, 6, 1)
print(x.strftime("%B"))
Tham chiếu tất cả các mã định dạng pháp lý:
Directive | Description | Example | Try it |
---|---|---|---|
%a | Weekday, short version | Wed | |
%A | Weekday, full version | Wednesday | |
%w | Weekday as a number 0-6, 0 is Sunday | 3 | |
%d | Day of month 01-31 | 31 | |
%b | Month name, short version | Dec | |
%B | Month name, full version | December | |
%m | Month as a number 01-12 | 12 | |
%y | Year, short version, without century | 18 | |
%Y | Year, full version | 2018 | |
%H | Hour 00-23 | 17 | |
%I | Hour 00-12 | 05 | |
%p | AM/PM | PM | |
%M | Minute 00-59 | 41 | |
%S | Second 00-59 | 08 | |
%f | Microsecond 000000-999999 | 548513 | |
%z | UTC offset | +0100 | |
%Z | Timezone | CST | |
%j | Day number of year 001-366 | 365 | |
%U | Week number of year, Sunday as the first day of week, 00-53 | 52 | |
%W | Week number of year, Monday as the first day of week, 00-53 | 52 | |
%c | Local version of date and time | Mon Dec 31 17:41:00 2018 | |
%C | Century | 20 | |
%x | Local version of date | 12/31/18 | |
%X | Local version of time | 17:41:00 | |
%% | A % character | % | |
%G | ISO 8601 year | 2018 | |
%u | ISO 8601 weekday (1-7) | 1 | |
%V | ISO 8601 weeknumber (01-53) | 01 |