【Python】datetime で『最大値』を取得するコード例

Python の datetimeデートタイム モジュールで、最大値さいだいち (max) を取得するコード例です。

以下の属性ぞくせいを使って取得します。

  • datetime.MAXYEAR(年の最大)
  • datetime.timedelta.max(タイムデルタの最大)
  • datetime.date.max(デートの最大)
  • datetime.datetime.max(デートタイムの最大)
  • datetime.time.max(タイムの最大)

使用したライブラリ

Python 公式マニュアルの場所です。

datetime モジュール

組み込み機能

コード例

最大値』を取得するための Python コード例です。

年の『最大値』を取得して表示するコード

datetime.MAXYEAR を使って、ねんの『最大値』を取得します。

import datetime

# 年(ねん)の最大値を取得して表示するコード
t = datetime.MAXYEAR
print('datetime.MAXYEAR')
print('# f-string')
print(f'{t} 年\n')

print('# str.format()')
print('{t} 年\n'.format(t=t))

print('# % 演算子')
print('%d 年\n' % t)

print('% 演算子(dict)')
print('%(year)d 年' % dict(year=t))
print('%(year)d 年' % {'year': t})

実行結果(年の最大値)

datetime.MAXYEAR
# f-string
9999 年

# str.format()
9999 年

# % 演算子
9999 年

% 演算子(dict)
9999 年
9999 年

timedelta の『最大値』を取得して表示するコード

datetime.timedelta.max を使って、timedeltaタイムデルタ の『最大値』を取得します。

import datetime

# タイムデルタ timedelta の最大値を取得して表示するコード
t = datetime.timedelta.max
print('datetime.timedelta.max')
print(f'{t}\n')

print('# f-string')
print(f'days: {t.days}')
print(f'seconds: {t.seconds}')
print(f'microseconds: {t.microseconds}\n')

print('# str.format()')
print(f'days: {t.days}'.format(t=t))
print(f'seconds: {t.seconds}'.format(t=t))
print(f'microseconds: {t.microseconds}\n'.format(t=t))

print('# % 演算子')
print('days: %d' % t.days)
print('seconds: %d' % t.seconds)
print('microseconds: %d\n' % t.microseconds)

実行結果 (timedelta)

datetime.timedelta.max
999999999 days, 23:59:59.999999

# f-string
days: 999999999
seconds: 86399
microseconds: 999999

# str.format()
days: 999999999
seconds: 86399
microseconds: 999999

# % 演算子
days: 999999999
seconds: 86399
microseconds: 999999

date の『最大値』を取得して表示するコード

datetime.date.max を使って、dateデート の『最大値』を取得します。

import datetime

# デート date の最大値を取得して表示するコード
t = datetime.date.max
print('datetime.date.max')
print(f'{t}\n')

print('# f-string')
print(f'year: {t.year}')
print(f'month: {t.month}')
print(f'day: {t.day}\n')

print('# str.format()')
print('year: {t.year}'.format(t=t))
print('month: {t.month}'.format(t=t))
print('day: {t.day}\n'.format(t=t))

print('# % 演算子')
print('year: %d' % t.year)
print('month: %d' % t.month)
print('day: %d\n' % t.day)

実行結果 (date)

datetime.date.max
9999-12-31

# f-string
year: 9999
month: 12
day: 31

# str.format()
year: 9999
month: 12
day: 31

# % 演算子
year: 9999
month: 12
day: 31

datetime の『最大値』を取得して『書式指定』して表示するコード

datetime.datetime.max を使って、datetimeデートタイム の『最大値』を取得します。

それをさらに、『書式指定しょしきしてい』して表示するコードです。

import datetime

# デートタイム datetime の最大値を取得して『書式指定』して表示するコード
t = datetime.datetime.max
print('datetime.datetime.max')
print(f'{t}\n')

print('英数字 %Y/%m/%d %H:%M:%S.%f')
print(f'{t.strftime("%Y/%m/%d %H:%M:%S.%f")}\n')

print('日本語 str.format(キーワード引数)')
text = t.strftime('%Y{y} %m{m} %d{d} %H{H} %M{M} %S{S} %f{f}')
text = text.format(y='年', m='月', d='日', H='時', M='分', S='秒', f='マイクロ秒')
print(f'{text}\n')

print('日本語 str.format(位置引数)')
text = t.strftime('%Y{0} %m{1} %d{2} %H{3} %M{4} %S{5} %f{6}')
text = text.format('年', '月', '日', '時', '分', '秒', 'マイクロ秒')
print(f'{text}\n')

print('日本語 % 演算子 dict()')
text = t.strftime('%Y%%(y)s %m%%(m)s %d%%(d)s %H%%(H)s %M%%(M)s %S%%(S)s %f%%(f)s')
text = text % dict(y='年', m='月', d='日', H='時', M='分', S='秒', f='マイクロ秒')
print(f'{text}\n')

print('日本語 % 演算子(位置引数)')
text = t.strftime('%Y%%s %m%%s %d%%s %H%%s %M%%s %S%%s %f%%s')
text = text % ('年', '月', '日', '時', '分', '秒', 'マイクロ秒')
print(f'{text}\n')

実行結果 (datetime 書式指定)

datetime.datetime.max
9999-12-31 23:59:59.999999

英数字 %Y/%m/%d %H:%M:%S.%f
9999/12/31 23:59:59.999999

日本語 str.format(キーワード引数)
9999年 12月 31日 23時 59分 59秒 999999マイクロ秒

日本語 str.format(位置引数)
9999年 12月 31日 23時 59分 59秒 999999マイクロ秒

日本語 % 演算子 dict()
9999年 12月 31日 23時 59分 59秒 999999マイクロ秒

日本語 % 演算子(位置引数)
9999年 12月 31日 23時 59分 59秒 999999マイクロ秒

datetime の『最大値』を取得して表示するコード

datetime.datetime.max を使って、datetimeデートタイム の『最大値』を取得します。

import datetime

# デートタイム datetime の最大値を取得して表示するコード
t = datetime.datetime.max
print('datetime.datetime.max')
print(f'{t}\n')

print('# f-string')
print(f'year: {t.year}')
print(f'month: {t.month}')
print(f'day: {t.day}')
print(f'hour: {t.hour}')
print(f'minute: {t.minute}')
print(f'second: {t.second}')
print(f'microsecond: {t.microsecond}')
print(f'tzinfo: {t.tzinfo}\n')

print('# str.format()')
print('year: {t.year}'.format(t=t))
print('month: {t.month}'.format(t=t))
print('day: {t.day}'.format(t=t))
print('hour: {t.hour}'.format(t=t))
print('minute: {t.minute}'.format(t=t))
print('second: {t.second}'.format(t=t))
print('microsecond: {t.microsecond}'.format(t=t))
print('tzinfo: {t.tzinfo}\n'.format(t=t))

print('# % 演算子')
print('year: %d' % t.year)
print('month: %d' % t.month)
print('day: %d' % t.day)
print('hour: %d' % t.hour)
print('minute: %d' % t.minute)
print('second: %d' % t.second)
print('microsecond: %d' % t.microsecond)
print('tzinfo: %s\n' % t.tzinfo)

実行結果 (datetime)

datetime.datetime.max
9999-12-31 23:59:59.999999

# f-string
year: 9999
month: 12
day: 31
hour: 23
minute: 59
second: 59
microsecond: 999999
tzinfo: None

# str.format()
year: 9999
month: 12
day: 31
hour: 23
minute: 59
second: 59
microsecond: 999999
tzinfo: None

# % 演算子
year: 9999
month: 12
day: 31
hour: 23
minute: 59
second: 59
microsecond: 999999
tzinfo: None

time の『最大値』を取得して表示するコード

datetime.time.max を使って、timeタイム の『最大値』を取得します。

import datetime

# タイム time の最大値を取得して表示するコード
t = datetime.time.max
print('datetime.time.max')
print(f'{t}\n')

print('# f-string')
print(f'hour: {t.hour}')
print(f'minute: {t.minute}')
print(f'second: {t.second}')
print(f'microsecond: {t.microsecond}')
print(f'tzinfo: {t.tzinfo}\n')

print('# str.format()')
print('hour: {t.hour}'.format(t=t))
print('minute: {t.minute}'.format(t=t))
print('second: {t.second}'.format(t=t))
print('microsecond: {t.microsecond}'.format(t=t))
print('tzinfo: {t.tzinfo}\n'.format(t=t))

print('# % 演算子')
print('hour: %d' % t.hour)
print('minute: %d' % t.minute)
print('second: %d' % t.second)
print('microsecond: %d' % t.microsecond)
print('tzinfo: %s\n' % t.tzinfo)

実行結果 (time)

datetime.time.max
23:59:59.999999

# f-string
hour: 23
minute: 59
second: 59
microsecond: 999999
tzinfo: None

# str.format()
hour: 23
minute: 59
second: 59
microsecond: 999999
tzinfo: None

# % 演算子
hour: 23
minute: 59
second: 59
microsecond: 999999
tzinfo: None
スポンサーリンク
Python評価
シェアする(押すとSNS投稿用の『編集ページ』に移動します)
フォローする(RSSフィードに移動します)
スポンサーリンク
シラベルノート
タイトルとURLをコピーしました