【Python】datetimeの基本的な使い方
はじめに
Pythonで日付や時刻を操作できるdatetimeというライブラリの基本的な使い方を紹介します。
datetimeでは日付や時刻を表したり、それらの計算ができます。
datetime --- 基本的な日付と時間の型
ソースコード: Lib/datetime.py datetime モジュールは、日付や時刻を操作するためのクラスを提供しています。 日付や時刻に対する算術がサポートされている一方、実装では出力のフォーマットや操作のための効率的な属性の抽出に重点を置いています。 Aware オブジェクトと Naive オブジェクト: 日時のオブジェクトは、それらがタイムゾーンの情報を含んでいるかどうかによって...
データ型
datetimeで主に扱うデータは以下になります。
date
: 日付のみを扱うtime
: 時刻のみを扱うdatetime
: 日付と時刻を扱うtimedelta
: 時刻の差を扱う
今の日付/時刻
本日の日付を取得する場合は以下です。
1from datetime import date
2
3today = date.today()
12021-08-31
現在の日付と時刻を取得する場合は以下です。
1from datetime import datetime
2
3now = datetime.now()
12021-08-31 22:05:08.906246
任意の日付/時刻
任意の日付は以下で表します。
1from datetime import date
2
3d = date(2021, 9, 30)
12021-09-30
任意の時刻は以下で表します。
1from datetime import time
2
3t = time(21, 11, 30)
121:11:30
任意の日付と時刻は以下で表します。
1from datetime import datetime
2
3dt = datetime(2021, 9, 1, 10, 00)
12021-09-01 10:00:00
時間の計算
timedelta
を利用して時間の計算ができます。
date
オブジェクトとtimedelta
で日付の計算ができます。
1from datetime import date
2from datetime import timedelta
3
4today = date.today()
5tomorrow = today + timedelta(days=1)
datetime
オブジェクトとtimedelta
でも計算ができます。
1from datetime import datetime
2from datetime import timedelta
3
4now = datetime.now()
5d = now - timedelta(days=1, hours=2, minutes=45)
date
オブジェクト同士、datetime
同士で時間の差を計算できます。
結果はtimedelta
型になります。
1from datetime import datetime
2
3dt1 = datetime(2021, 9, 3, 21, 15)
4dt2 = datetime(2021, 8, 30, 19, 30)
5dt1 - dt2
14 days, 1:45:00
stringからdatetimeの変換
strptime
を利用します。
引数にはdatetimeに変換したい日付を表す文字列とその文字列のフォーマットを指定します。
1from datetime import datetime
2
3dt_string = "2021/08/30 14:30:11"
4st_dt = datetime.strptime(dt_string, '%Y/%m/%d %H:%M:%S')
書式のコードは下記で確認できます。
datetime --- 基本的な日付と時間の型
ソースコード: Lib/datetime.py datetime モジュールは、日付や時刻を操作するためのクラスを提供しています。 日付や時刻に対する算術がサポートされている一方、実装では出力のフォーマットや操作のための効率的な属性の抽出に重点を置いています。 Aware オブジェクトと Naive オブジェクト: 日時のオブジェクトは、それらがタイムゾーンの情報を含んでいるかどうかによって...
date/time/datetimeからstringへの変換
strftime
を利用します。
1from datetime import datetime
2
3now = datetime.now()
4now_st = now.strftime('%Y/%m/%d %H:%M:%S')
書式のコードは下記で確認できます。
datetime --- 基本的な日付と時間の型
ソースコード: Lib/datetime.py datetime モジュールは、日付や時刻を操作するためのクラスを提供しています。 日付や時刻に対する算術がサポートされている一方、実装では出力のフォーマットや操作のための効率的な属性の抽出に重点を置いています。 Aware オブジェクトと Naive オブジェクト: 日時のオブジェクトは、それらがタイムゾーンの情報を含んでいるかどうかによって...