Ngày tháng trong Python không phải là 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 đối tượng ngày tháng
Thí dụ
Nhập mô-đun datetime và hiển thị ngày hiện tại
nhập ngày giờ
x = ngày giờ. ngày giờ. bây giờ[]
in[x]
Xuất ngày
Khi chúng tôi thực thi 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
Mô-đun datetime
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ả về năm và tên của ngày trong tuần
nhập ngày giờ
x = ngày giờ. ngày giờ. bây giờ[]
in[x. năm]
in[x. strftime["%A"]]
Tạo đối tượng ngày
Để tạo 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
Thí dụ
Tạo một đối tượng ngày
nhập ngày giờ
x = ngày giờ. ngày giờ[2020, 5, 17]
in[x]
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à
from datetime import datetime
now = datetime.now[]
print[now.date[]]
3, [from datetime import datetime
now = datetime.now[]
print[now.date[]]
4 cho múi giờ]Phương thức strftime[]
Đối tượng datetime
có phương thức định dạng đố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à
from datetime import datetime
now = datetime.now[]
print[now.date[]]
6 và nhận một tham số, datetime
0, để chỉ định định dạng của chuỗi được trả về Mô-đun này cắt bớt một đối tượng ngày giờ theo mức độ chính xác mà bạn chỉ định, làm cho mọi thứ cao hơn số 0 đó [hoặc một cho ngày và tháng]
Cách sử dụng
>>> from datetime_truncate import truncate
>>> truncate[datetime[2012, 2, 4, 12, 24, 50, 234], 'second']
datetime[2012, 2, 4, 12, 24, 50]
>>> truncate[datetime[2012, 2, 4, 12, 24, 50], 'minute']
datetime[2012, 2, 4, 12, 24]
>>> truncate[datetime[2012, 2, 4, 12, 24], 'hour']
datetime[2012, 2, 4, 12]
>>> truncate[datetime[2012, 2, 4, 12, 24], 'day']
datetime[2012, 2, 4]
>>> truncate[datetime[2012, 2, 4, 12, 24], 'week']
datetime[2012, 1, 30]
>>> truncate[datetime[2012, 2, 4, 12, 24], 'month']
datetime[2012, 2, 1]
>>> truncate[datetime[2012, 2, 4, 12, 24], 'quarter']
datetime[2012, 1, 1]
>>> truncate[datetime[2012, 8, 18, 12, 25], 'half_year']
datetime[2012, 7, 1]
>>> truncate[datetime[2012, 8, 18, 12, 25], 'year']
datetime[2012, 1, 1]
Ngoài ra còn có các chức năng đường có sẵn trên biểu mẫu
truncate_second
truncate_minute
truncate_hour
truncate_day
truncate_week
cắt ngắn_tháng
truncate_quý
truncate_half_year
truncate_year
đối tượng datetime giữ cả giá trị ngày và giờ. Tuy nhiên, đôi khi chúng ta chỉ cần hiển thị ngày mà không có bất kỳ giá trị thời gian nào giờ, phút, giây
Trong bài đăng này, chúng ta sẽ tìm hiểu cách cắt bớt thời gian từ một đối tượng datetime trong Python với ví dụ
phương thức date[] của mô-đun datetime chỉ trả về thành phần ngày của datetime, không bao gồm phần thời gian. Chúng ta có thể sử dụng phương thức này để in ngày của một datetime
from datetime import datetime
now = datetime.now[]
print[now.date[]]
Nó sẽ in một cái gì đó như dưới đây
strftime có một định dạng chuỗi và nó định dạng đối tượng datetime dựa trên đó. Ta có thể truyền 1 chuỗi chỉ gồm ngày, tháng, năm để ra kết quả theo yêu cầu
from datetime import datetime
now = datetime.now[]
print[now.strftime["%d/%m/%Y"]]
Nó sẽ in
Ưu điểm của phương pháp này là chúng ta có thể thay đổi định dạng của chuỗi đầu ra thành bất cứ thứ gì chúng ta muốn
Tương tự, nếu bạn muốn tháng bằng chữ, bạn có thể làm như bên dưới
from datetime import datetime
now = datetime.now[]
print[now.strftime["%d/%b/%Y"]]
Nó sẽ in
hoặc nếu bạn muốn cả tháng
from datetime import datetime
now = datetime.now[]
print[now.strftime["%d/%B/%Y"]]
Nó sẽ cho
Phương pháp 3. Bằng cách đọc thuộc tính
đối tượng datetime có thuộc tính ngày, tháng, năm. Chúng ta có thể đọc các thuộc tính này để tạo chuỗi ngày với ngày, tháng và năm
Khi làm việc với Python, nhiều khi chúng ta cần tạo các biến đại diện cho ngày tháng và thời gian. Khi tạo và hiển thị các giá trị liên quan đến ngày tháng, đôi khi chúng ta cần hiển thị ngày hiện tại
Với Python, chúng ta có thể dễ dàng loại bỏ thời gian khỏi biến datetime
Để loại bỏ thời gian, chúng ta chỉ cần chuyển đổi datetime thành ngày. Để làm như vậy, hãy sử dụng hàm datetime date[]
Dưới đây là một ví dụ đơn giản về cách xóa thời gian khỏi ngày giờ trong Python
import datetime
currentDateTime = datetime.datetime.now[]
currentDateWithoutTime = currentDateTime.date[]
print[currentDateTime]
print[currentDateWithoutTime]
#Output:
2022-03-05 15:33:11.283729
2022-03-05
Sử dụng strfttime để xóa thời gian khỏi Datetime trong Python
Hàm strftime[] trong Python rất hữu ích khi làm việc với các biến ngày và giờ. strftime[] chấp nhận một chuỗi đại diện cho định dạng của một ngày và trả về ngày dưới dạng một chuỗi ở định dạng đã cho
Chúng ta có thể sử dụng strftime[] để dễ dàng loại bỏ thời gian khỏi biến datetime
Ví dụ: nếu bạn muốn in ngày theo định dạng “YYYY-MM-DD”, chúng tôi chuyển “%Y-%m-%d” thành strfttime[] và không có thời gian được in
Dưới đây là một ví dụ Python đơn giản về cách in ngày không có thời gian bằng strftime[]
import datetime
currentDateTime = datetime.datetime.now[]
currentDateWithoutTime = currentDateTime.strftime['%Y-%m-%d']
print[currentDateTime]
print[currentDateWithoutTime]
#Output:
2022-03-05 15:33:11.283729
2022-03-05
Hy vọng bài viết này hữu ích cho bạn trong việc tìm hiểu cách sử dụng Python để xóa thời gian khỏi biến datetime