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