問題
プログラミングの勉強を始めて、9ヶ月程度経過した。日付や時間に関する操作が曖昧のままここまできてしまったのでまとめていきたい
基本
モジュール
日付や時間を操作する際は、pythonの標準モジュールであるdatetimeモジュールを使用し、コードを書く際は以下を記述する
from datetime import date
from datetime import datetime
データの型
日付や時刻を取得すると一見、文字列型のように見えるが、datetimeモジュールの中のdate型やtime型、datetime型などのクラスのインスタンスになる。
以下を参照。(※以下は日付のみを取得しているため、datetime.date型となっている)
from datetime import date
date = date.today()
print(date)
print(type(date))
#結果
#2024-10-12
#<class 'datetime.date'>
日付
今日の日付取得
from datetime import date,datetime,time
date = date.today()
print(date)
#結果
#2024-10-12
datetime型に変更
from datetime import date,datetime,time
date = date(2024,10,12)
print(date)
print(type(date))
#結果
#2024-10-12
#<class 'datetime.date'>
時間
現在の時刻取得
from datetime import date,datetime,time
time = datetime.now().time()
print(time)
print(type(time))
#結果
#14:39:16.030922
#<class 'datetime.time'>
現在の時刻取得(秒、マイクロ抜き)
from datetime import date,datetime,time
time = datetime.now().time()
formatted_time = time.strftime('%H:%M')
print(formatted_time)
print(type(formatted_time))
#結果
#14:43
#<class 'str'>
strftimeメソッドを使用すると任意の形に変更できるが、型が文字列型になるので注意!
日付、時刻の計算
日付や時刻の計算をするとtimedelta型で結果が返ってくる.
day1 = date(2024,10,12)
day2 = date(2024,10,11)
date = day1 - day2
print(date)
print(type(date))
#結果
#1 day, 0:00:00
#<class 'datetime.timedelta'>
学んだこと
・datetime型を意識してデータ操作を行うこと
・datetime同士で計算をするとtimedelta型で返ってくる。
・初心者の方の手助けになれば幸いです