3
3

【python3】指定された日付から昨日までを配列に格納し、表示するプログラム(テスト版)

Last updated at Posted at 2024-03-13

はじめに

指定された日付(過去日付)から昨日までの日付データを1日ずつ配列に入れて、日付で突き合わせてデータを取りたいなあと思ったのがきっかけで開発しました。

目的

指定された日付から昨日までのデータを何らかの形(CSV、JSON、XML etc)で取得して、指定された日付から昨日までの差分データを取得するためのテストとして、指定されたデータから昨日までの日付を配列に格納し、配列の要素を標準出力に出力するテストプログラムを実装しました。なおコーディングルールには従ってない点、ご了承ください。

ソースコード

from datetime import datetime
from datetime import timedelta


data1 = input("日付を西暦4桁、月2桁、日付2桁で入力してください。例) 2024年3月9日の場合は「20240309」と入力してください")
if len(data1) == 8:
    print("OK")
else:
    print("NG")


year = data1[:4]
print(year)
month = data1[4:6]
if int(month) < 1 or int(month) > 12:
    print("NG")
else:     
    print(month)
day = data1[6:]
if int(day) < 1 or int(day) > 31:
    print("NG")
else:     
    print(day)
str_ymd = year + "/" + month + "/" + day
ymd = datetime.strptime(str_ymd, '%Y/%m/%d')
array1 = []
dt = datetime.now()
day_sabun = dt - ymd
day_sabun = str(day_sabun)
sabun_array1 = day_sabun.split(" ")
day_sa = sabun_array1[0]
day_sa = int(day_sa)

for i in range(day_sa):
    w_ymd = ymd.strftime("%Y/%m/%d")
    array1.append(w_ymd)
    ymd = ymd + timedelta(1)

for j in array1:
    print(j)

実行した結果

実行した結果の画像は以下の通りです。

test1.jpg

最後に

こんな用途があるのか分かりませんが、どこかで役に立ったらちゃんとしたコードにしようと思います。

3
3
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3