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

Python の datetimeデートタイム モジュールで、『最小値さいしょうち (min)』を取得するコード例です。

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

  • datetime.MINYEAR(年の最小)
  • datetime.timedelta.min(タイムデルタの最小)
  • datetime.date.min(デートの最小)
  • datetime.datetime.min(デートタイムの最小)
  • datetime.time.min(タイムの最小)

使用したライブラリ

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

datetime モジュール

組み込み機能

コード例

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

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

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

import datetime

# 年(ねん)の最小値を取得して表示するコード
t = datetime.MINYEAR
print('datetime.MINYEAR')
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.MINYEAR
# f-string
1 年

# str.format()
1 年

# % 演算子
1 年

% 演算子(dict)
1 年
1 年

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

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

import datetime

# タイムデルタ timedelta の最小値を取得して表示するコード
t = datetime.timedelta.min
print('datetime.timedelta.min')
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.min
-999999999 days, 0:00:00

# f-string
days: -999999999
seconds: 0
microseconds: 0

# str.format()
days: -999999999
seconds: 0
microseconds: 0

# % 演算子
days: -999999999
seconds: 0
microseconds: 0

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

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

import datetime

# デート date の最小値を取得して表示するコード
t = datetime.date.min
print('datetime.date.min')
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.min
0001-01-01

# f-string
year: 1
month: 1
day: 1

# str.format()
year: 1
month: 1
day: 1

# % 演算子
year: 1
month: 1
day: 1

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

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

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

import datetime

# デートタイム datetime の最小値を取得して『書式指定』して表示するコード
t = datetime.datetime.min
print('datetime.datetime.min')
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.min
0001-01-01 00:00:00

英数字 %Y/%m/%d %H:%M:%S.%f
0001/01/01 00:00:00.000000

日本語 str.format(キーワード引数)
0001年 01月 01日 00時 00分 00秒 000000マイクロ秒

日本語 str.format(位置引数)
0001年 01月 01日 00時 00分 00秒 000000マイクロ秒

日本語 % 演算子 dict()
0001年 01月 01日 00時 00分 00秒 000000マイクロ秒

日本語 % 演算子(位置引数)
0001年 01月 01日 00時 00分 00秒 000000マイクロ秒

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

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

import datetime

# デートタイム datetime の最小値を取得して表示するコード
t = datetime.datetime.min
print('datetime.datetime.min')
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.min
0001-01-01 00:00:00

# f-string
year: 1
month: 1
day: 1
hour: 0
minute: 0
second: 0
microsecond: 0
tzinfo: None

# str.format()
year: 1
month: 1
day: 1
hour: 0
minute: 0
second: 0
microsecond: 0
tzinfo: None

# % 演算子
year: 1
month: 1
day: 1
hour: 0
minute: 0
second: 0
microsecond: 0
tzinfo: None

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

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

import datetime

# タイム time の最小値を取得して表示するコード
t = datetime.time.min
print('datetime.time.min')
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.min
00:00:00

# f-string
hour: 0
minute: 0
second: 0
microsecond: 0
tzinfo: None

# str.format()
hour: 0
minute: 0
second: 0
microsecond: 0
tzinfo: None

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