Latest Post

Khái niệm về Solidity và tổng quan về ngôn ngữ lập trình Solidity Phương pháp kiểm tra nhiệt độ CPU đơn giản

Bài viết này mình sẽ chia sẻ với các bạn cách lấy danh sách các tháng nằm giữa 2 ngày cho trước, hoặc các tháng trong năm bằng Python 3:

Lấy danh sách các tháng giữa 2 khoảng thời gian

Đầu tiên mình tạo 1 file Datetime Helper có nội dung như sau:

from datetime import datetime
from dateutil.rrule import rrule, MONTHLY


class DateTimeHelper:
    @staticmethod
    def list_of_months_between_two_dates(start_date, end_date, input_format="%Y-%m-%d", output_format="%Y-%m"):
        """
        List months between two dates
        :param start_date:
        :param end_date:
        :param input_format:
        :param output_format:
        :return: [%Y1-%m1, %Y2-%m2]
        """
        # Convert string to time
        start_datetime = datetime.strptime(start_date, input_format)
        end_datetime = datetime.strptime(end_date, input_format)
        # Return list
        return [dt.strftime(output_format) for dt in rrule(MONTHLY, dtstart=start_datetime, until=end_datetime)]

Sau đó mình viết đoạn code để lấy thông tin các tháng giữa 2 khoảng thời gian như sau:

from DateTimeHelper import DateTimeHelper

start_date = '2022-01-01'
end_date = '2022-12-01'

list_of_months = DateTimeHelper.list_of_months_between_two_dates(start_date, end_date)
print(list_of_months)

Kết quả chạy thì mình thu được:

Lấy danh sách các tháng trong 1 năm

Trường hợp bạn muốn lấy danh sách các tháng trong 1 năm thì có thể viết đơn giản như sau:

year = '2022'
list_months_of_year = ["%s-%02d" % (year, i) for i in range(1, 13)]
print(list_months_of_year)

Kết quả:

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *