Hướng dẫn how do you increment a month in python? - làm thế nào để bạn tăng một tháng trong python?
Giải pháp đơn giản nhất là đi vào cuối tháng (chúng tôi luôn biết rằng tháng có ít nhất 28 ngày) và thêm đủ ngày để chuyển sang bướm đêm tiếp theo: Show
Cũng hoạt động giữa các năm:
Chỉ cần nhớ rằng không được đảm bảo rằng tháng tới sẽ có cùng ngày, ví dụ khi chuyển từ ngày 31 tháng 1 đến ngày 31 tháng 2, nó sẽ thất bại:
Vì vậy, đây là một giải pháp hợp lệ nếu bạn cần chuyển sang ngày đầu tiên của tháng tiếp theo, vì bạn luôn biết rằng tháng tiếp theo có ngày 1 ( Xem thảo luận Cải thiện bài viết Lưu bài viết Xem thảo luận Cải thiện bài viết Lưu bài viết Đọc Bàn luậnTrong bài viết này, hãy để Lừa học cách thêm tháng vào một đối tượng DateTime trong Python. & NBSP; Python3Ví dụ 1: Thêm năm vào đối tượng DateTime bằng thư viện Numpy. Trong ví dụ này, chúng tôi sử dụng thư viện Numpy, để tạo đối tượng DateTime bằng phương thức NP.DATETIME64 () và sau đó thêm tháng bằng cách sử dụng phương thức NP.TimedelTA64 (). Một chuỗi định dạng ngày được truyền trong phương thức NP.DATETIME64 () và số tháng cần thiết được thêm vào bằng phương thức NP.TimedelTA64 ().
0 1 1 3 4 4Output: old date is : 2022-04 new date is : 2022-09 ____10>>> dec31 datetime.datetime(2015, 12, 31, 11, 47, 27, 811253) >>> today = dec31 >>> (today.replace(day=28) + timedelta(days=10)).replace(day=today.day) datetime.datetime(2016, 1, 31, 11, 47, 27, 811253) 1>>> dec31 datetime.datetime(2015, 12, 31, 11, 47, 27, 811253) >>> today = dec31 >>> (today.replace(day=28) + timedelta(days=10)).replace(day=today.day) datetime.datetime(2016, 1, 31, 11, 47, 27, 811253) 2 >>> dec31 datetime.datetime(2015, 12, 31, 11, 47, 27, 811253) >>> today = dec31 >>> (today.replace(day=28) + timedelta(days=10)).replace(day=today.day) datetime.datetime(2016, 1, 31, 11, 47, 27, 811253) 3 >>> dec31 datetime.datetime(2015, 12, 31, 11, 47, 27, 811253) >>> today = dec31 >>> (today.replace(day=28) + timedelta(days=10)).replace(day=today.day) datetime.datetime(2016, 1, 31, 11, 47, 27, 811253) 4>>> dec31 datetime.datetime(2015, 12, 31, 11, 47, 27, 811253) >>> today = dec31 >>> (today.replace(day=28) + timedelta(days=10)).replace(day=today.day) datetime.datetime(2016, 1, 31, 11, 47, 27, 811253) 5>>> dec31 datetime.datetime(2015, 12, 31, 11, 47, 27, 811253) >>> today = dec31 >>> (today.replace(day=28) + timedelta(days=10)).replace(day=today.day) datetime.datetime(2016, 1, 31, 11, 47, 27, 811253) 6>>> dec31 datetime.datetime(2015, 12, 31, 11, 47, 27, 811253) >>> today = dec31 >>> (today.replace(day=28) + timedelta(days=10)).replace(day=today.day) datetime.datetime(2016, 1, 31, 11, 47, 27, 811253) 7 8 9 0 6 2 3 4 5 6 7 8Python3Ví dụ 2: Thêm năm vào đối tượng DateTime bằng cách sử dụng tương đối Trong ví dụ này, chúng tôi sử dụng các gói DateTime và DateUtil. Ngày hiện tại được biết đến bằng cách sử dụng phương thức DateTime.date () được sử dụng để tạo đối tượng ngày bằng cách chỉ định năm, tháng và ngày và bằng cách sử dụng phương thức Relativedelta (), chúng tôi thêm số tháng và cuối cùng, chúng tôi Nhận một đối tượng DateTime mới. 5 6import 8 5 old date is : 2022-04 new date is : 2022-090 import old date is : 2022-04 new date is : 2022-092 0 1 1 3 4 4Output: date : 2020-05-15 new date is : 2020-10-15 ____10>>> dec31
datetime.datetime(2015, 12, 31, 11, 47, 27, 811253)
>>> today = dec31
>>> (today.replace(day=28) + timedelta(days=10)).replace(day=today.day)
datetime.datetime(2016, 1, 31, 11, 47, 27, 811253)
1old date is : 2022-04
new date is : 2022-095 >>> dec31
datetime.datetime(2015, 12, 31, 11, 47, 27, 811253)
>>> today = dec31
>>> (today.replace(day=28) + timedelta(days=10)).replace(day=today.day)
datetime.datetime(2016, 1, 31, 11, 47, 27, 811253)
3 >>> dec31
datetime.datetime(2015, 12, 31, 11, 47, 27, 811253)
>>> today = dec31
>>> (today.replace(day=28) + timedelta(days=10)).replace(day=today.day)
datetime.datetime(2016, 1, 31, 11, 47, 27, 811253)
4old date is : 2022-04
new date is : 2022-098old date is : 2022-04
new date is : 2022-099>>> today
datetime.datetime(2016, 1, 31, 11, 47, 27, 811253)
>>> (today.replace(day=28) + timedelta(days=10)).replace(day=today.day)
Traceback (most recent call last):
File " |