【Python】datetimeの基本的な使い方

2021.09.01
2024.03.24
プログラミング
datetimePython

はじめに

Pythonで日付や時刻を操作できるdatetimeというライブラリの基本的な使い方を紹介します。

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 --- 基本的な日付型および時間型

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 --- 基本的な日付型および時間型

datetime --- 基本的な日付型および時間型

ソースコード: Lib/datetime.py datetime モジュールは、日付や時刻を操作するためのクラスを提供しています。 日付や時刻に対する算術がサポートされている一方、実装では出力のフォーマットや操作のための効率的な属性の抽出に重点を置いています。 Aware オブジェクトと Naive オブジェクト: 日時のオブジェクトは、それらがタイムゾーンの情報を含んでいるかどうかによって...

参考

Support

\ この記事が役に立ったと思ったら、サポートお願いします! /

buy me a coffee
Share

Profile

author

Masa

都内のIT企業で働くエンジニア
自分が学んだことをブログでわかりやすく発信していきながらスキルアップを目指していきます!

buy me a coffee