Latest Post

Tăng thứ hạng và truy cập tự nhiên với 10 phương pháp SEO hay nhất Kiếm Tiền Online (mmo): Khái Niệm và Các Hình Thức Phổ Biế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ả:

Trả lời

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 *