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
Thí dụ
Nhưng khi sử dụng timedelta, chúng tôi không thể lặp lại các tháng giữa các ngày một cách hoàn hảo vì ở đây chúng tôi đang thêm 31 ngày cho mỗi tháng. Nhưng mỗi tháng sẽ không có đúng 31 ngày. Có tháng có 30 thậm chí 28, 29. Để giải quyết vấn đề, quy tắc đưa ra hành động giúp lặp lại giữa các ngày theo một khoảng thời gian cụ thể
Mã số
Python3
# import necessary packages
from
datetime
import
datetime, timedelta
# date initialisation
rrule[rrule.MONTHLY, dtstart=start_date, until=end_date]0
rrule[rrule.MONTHLY, dtstart=start_date, until=end_date]1
rrule[rrule.MONTHLY, dtstart=start_date, until=end_date]2
rrule[rrule.MONTHLY, dtstart=start_date, until=end_date]3
rrule[rrule.MONTHLY, dtstart=start_date, until=end_date]4
rrule[rrule.MONTHLY, dtstart=start_date, until=end_date]5
rrule[rrule.MONTHLY, dtstart=start_date, until=end_date]4
rrule[rrule.MONTHLY, dtstart=start_date, until=end_date]7
rrule[rrule.MONTHLY, dtstart=start_date, until=end_date]8
rrule[rrule.MONTHLY, dtstart=start_date, until=end_date]9
rrule[rrule.MONTHLY, dtstart=start_date, until=end_date]1
rrule[rrule.MONTHLY, dtstart=start_date, until=end_date]2_______0_______3
rrule[rrule.MONTHLY, dtstart=start_date, until=end_date]4
2021-01-01 00:00:00 2021-02-01 00:00:00 2021-03-01 00:00:00 2021-04-01 00:00:00 2021-05-01 00:00:00 2021-06-01 00:00:00 2021-07-01 00:00:00 2021-08-01 00:00:00 2021-09-01 00:00:00 2021-10-01 00:00:00 2021-11-01 00:00:00 2021-12-01 00:00:00 2022-01-01 00:00:004
rrule[rrule.MONTHLY, dtstart=start_date, until=end_date]4
2021-01-01 00:00:00 2021-02-01 00:00:00 2021-03-01 00:00:00 2021-04-01 00:00:00 2021-05-01 00:00:00 2021-06-01 00:00:00 2021-07-01 00:00:00 2021-08-01 00:00:00 2021-09-01 00:00:00 2021-10-01 00:00:00 2021-11-01 00:00:00 2021-12-01 00:00:00 2022-01-01 00:00:006_______0_______8
2021-01-01 00:00:00 2021-02-01 00:00:00 2021-03-01 00:00:00 2021-04-01 00:00:00 2021-05-01 00:00:00 2021-06-01 00:00:00 2021-07-01 00:00:00 2021-08-01 00:00:00 2021-09-01 00:00:00 2021-10-01 00:00:00 2021-11-01 00:00:00 2021-12-01 00:00:00 2022-01-01 00:00:008
2021-01-01 00:00:00 2021-02-01 00:00:00 2021-03-01 00:00:00 2021-04-01 00:00:00 2021-05-01 00:00:00 2021-06-01 00:00:00 2021-07-01 00:00:00 2021-08-01 00:00:00 2021-09-01 00:00:00 2021-10-01 00:00:00 2021-11-01 00:00:00 2021-12-01 00:00:00 2022-01-01 00:00:009_______0_______1
2021-01-01 00:00:00 2022-01-01 00:00:001
rrule[rrule.MONTHLY, dtstart=start_date, until=end_date]1
2021-01-01 00:00:00 2022-01-01 00:00:003
rrule[rrule.MONTHLY, dtstart=start_date, until=end_date]8
2021-01-01 00:00:00 2022-01-01 00:00:005
2021-01-01 00:00:00 2022-01-01 00:00:006
rrule[rrule.MONTHLY, dtstart=start_date, until=end_date]1
2021-01-01 00:00:00 2022-01-01 00:00:008
2021-01-01 00:00:00 2022-01-01 00:00:009_______136_______0
# import necessary packages
12021-01-01 00:00:00 2022-01-01 00:00:009____136_______3
2021-01-01 00:00:00 2022-01-01 00:00:009_______0_______0
# import necessary packages
6rrule[rrule.MONTHLY, dtstart=start_date, until=end_date]1
2021-01-01 00:00:00 2021-02-01 00:00:00 2021-03-01 00:00:00 2021-04-01 00:00:00 2021-05-01 00:00:00 2021-06-01 00:00:00 2021-07-01 00:00:00 2021-08-01 00:00:00 2021-09-01 00:00:00 2021-10-01 00:00:00 2021-11-01 00:00:00 2021-12-01 00:00:00 2022-01-01 00:00:009
Đầu ra
2020-01-10 00:00:00 2020-02-10 00:00:00 2020-03-12 00:00:00 2020-04-12 00:00:00
Phương pháp 2. cai trị
rrule là một gói có trong thư viện dateutil và gói này bao gồm một phương thức cũng rrule lấy dtstart, cho đến và khoảng thời gian cụ thể làm tham số là ngày bắt đầu, ngày kết thúc và khoảng thời gian dựa trên lần lặp tương ứng. Các khoảng thời gian cụ thể là HÀNG TUẦN, HÀNG THÁNG, HÀNG NĂM, v.v.
Trong bài viết này, chúng ta sẽ xem cách tính chênh lệch giữa 2 ngày trong PHP, cùng với việc hiểu triển khai của nó thông qua các ví dụ. Đưa ra hai ngày tức là. , start_date và end_date & chúng ta cần tìm sự khác biệt giữa hai ngày
Xem xét ví dụ dưới đây
Input: start_date: 2016-06-01 22:45:00 end_date: 2018-09-21 10:44:01 Output: 2 years, 3 months, 21 days, 11 hours, 59 minutes, 1 seconds Explanation: The difference of 2 dates will give the date in complete format.
Phương pháp 1. Sử dụng hàm date_diff[]
Hàm này được sử dụng để tìm sự khác biệt giữa hai ngày. Hàm này sẽ trả về một đối tượng DateInterval nếu thành công và trả về FALSE nếu thất bại
Thí dụ. Ví dụ này minh họa việc sử dụng hàm date_diff[] để tính chênh lệch giữa 2 ngày