python

しょっちゅう忘れることを書いておく。

33

368 views

月末の日付を求める

基本的な考え方は、月始めから1日引き算するだけ。

# coding:UTF-8
from datetime import datetime, timedelta

def create_date_list(start_year):
    date_pairs = []
    end_year = datetime.today().year
    end_month = datetime.today().month
    end_date = datetime.today().day
    end_datetime = datetime(end_year, end_month, end_date)

    for year in range(start_year, end_year + 1, 1):
        for month in range(1, 13, 1):
            this_datetime = datetime(year, month, 1)
            if this_datetime > end_datetime:
                continue

            start_date = datetime(year, month, 1)
            # 月末日を求める
            next_month = month + 1
            if next_month > 12:
                year += 1
                next_month = 1
            middle_date = datetime(year, next_month, 1) - timedelta(days=1)
            date_pair = [
                [
                    ['start_year', str(start_date.year)],
                    ['start_month', "{:02}".format(start_date.month)],
                    ['start_day', "{:02}".format(start_date.day)],
                ],
                [
                    ['end_year', str(middle_date.year)],
                    ['end_month', "{:02}".format(middle_date.month)],
                    ['end_day', "{:02}".format(middle_date.day)],
                ]
            ]

            date_pairs.append(date_pair)
    return date_pairs




if __name__ == '__main__':
    results = create_date_list(2021)
    for result in results:
        print(result)

Page 8 of 56.

前のページ 次のページ



[添付ファイル]


お問い合わせ

プロフィール

マッスル

自己紹介

本サイトの作成者。
趣味:プログラム/水耕栽培/仮想通貨/激辛好き
プログラムは趣味と勉強を兼ねて、のんびり本サイトを作っています。
フレームワークはdjango。
仮想通貨はNEMが好き。
水耕栽培は激辛好きが高じて、キャロライナ・リーパーの栽培にチャレンジ中。

サイト/ブログ

https://www.osumoi-stdio.com/pyarticle/

ツイッター

@darkimpact0626