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
"8:20pm", 1509 để 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
"8:20pm", 1509 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
10:50pm1 [hàm tạo] của mô-đun
"8:20pm", 1509
Lớp
10:50pm1 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
10:50pm1 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à
10:50pm5, [
10:50pm6 cho múi giờ]
Phương thức strftime[]
Đối tượng
"8:20pm", 1509 có phương thức định dạng đối tượng ngày tháng thành chuỗi có thể đọc được
Phương thức này được gọi là
10:50pm8 và nhận một tham số,
"8:20pm", 15090, để chỉ định định dạng của chuỗi được trả về
Giả sử chúng ta có một chuỗi biểu thị thời gian 12 giờ với hậu tố là am hoặc pm, và một số nguyên n cũng được đưa ra, chúng ta sẽ thêm n phút vào thời gian và trả về thời gian mới ở cùng định dạng
Vì vậy, nếu đầu vào giống như s = "8. 20pm" và n = 150 thì đầu ra sẽ là 10. 50 giờ tối
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
giờ, m. = lấy phần giờ và phút từ s
h. = h mod 12
nếu thời gian s tính bằng 'chiều', thì
t. = h * 60 + m + n
h. = thương số của t/60, m. = phần còn lại của t/60
h. = h mod 24
hậu tố. = 'sáng' nếu h < 12 ngược lại 'chiều'
h. = h mod 12
nếu h bằng 0 thì
trả lại thời gian h. hậu tố m
Chúng ta hãy xem triển khai sau đây để hiểu rõ hơn -
Thí dụ
Bản thử trực tiếp
class Solution: def solve[self, s, n]: h, m = map[int, s[:-2].split[':']] h %= 12 if s[-2:] == 'pm': h += 12 t = h * 60 + m + n h, m = divmod[t, 60] h %= 24 suffix = 'a' if h < 12 else 'p' h %= 12 if h == 0: h = 12 return "{:02d}:{:02d}{}m".format[h, m, suffix] ob = Solution[] print[ob.solve["8:20pm", 150]]
Đầu vào
"8:20pm", 150
đầu ra
10:50pm
Cập nhật ngày 02-09-2020 12. 45. 26
Trong bài viết này, chúng ta sẽ thảo luận về việc thêm thời gian vào một đối tượng DateTime được chỉ định trong Python. Hiệu ứng này sẽ tạo ra một đối tượng DateTime mới. Việc bổ sung này có thể được thực hiện bằng cách sử dụng datetime. hàm timedelta[]. Hàm timedelta[] được sử dụng để tính toán sự khác biệt về ngày tháng và cũng có thể được sử dụng để thao tác ngày tháng trong Python. Đây là một trong những cách dễ nhất để thực hiện các thao tác ngày tháng
cú pháp. ngày giờ. timedelta[ngày=0, giây=0, micro giây=0, mili giây=0, phút=0, giờ=0, tuần=0]
Giá trị trả về. Hàm này trả về ngày bị thao tác
Do đó, chỉ cần chuyển một giá trị thích hợp cho các tham số đã cho ở trên, nhiệm vụ được yêu cầu có thể đạt được
ví dụ 1. Thêm thời gian vào đối tượng DateTime
Python3
Original time: 2021-08-22 11:02:05 changed time: 2021-08-23 23:02:050
Original time: 2021-08-22 11:02:05 changed time: 2021-08-23 23:02:051
Original time: 2021-08-22 11:02:05 changed time: 2021-08-23 23:02:052
Original time: 2021-08-22 11:02:05 changed time: 2021-08-23 23:02:053
Original time: 2021-08-22 11:02:05 changed time: 2021-08-23 23:02:054
"8:20pm", 1509
Original time: 2021-08-22 11:02:05 changed time: 2021-08-23 23:02:052
Original time: 2021-08-22 11:02:05 changed time: 2021-08-23 23:02:050
Original time: 2021-08-22 11:02:05 changed time: 2021-08-23 23:02:051
Original time: 2021-08-22 11:02:05 changed time: 2021-08-23 23:02:052
Original time: 2021-08-22 11:02:05 changed time: 2021-08-23 23:02:053_______34
Original time: 2021-08-22 11:02:05 changed time: 2021-08-23 23:02:055
Original time: 2021-08-22 11:02:05 changed time: 2021-08-23 23:02:056
Original time: 2021-08-22 11:02:05 changed time: 2021-08-23 23:02:055
Original time: 2021-08-22 11:02:05 changed time: 2021-08-23 23:02:058
Original time: 2021-08-22 11:02:05 changed time: 2021-08-23 23:02:055
"8:20pm", 15030
Original time: 2021-08-22 11:02:05 changed time: 2021-08-23 23:02:055
"8:20pm", 15032
Original time: 2021-08-22 11:02:05 changed time: 2021-08-23 23:02:055
"8:20pm", 15034
"8:20pm", 15035