Python の datetime モジュールで、『最小値 (min)』を取得するコード例です。
以下の属性を使って取得します。
- datetime.MINYEAR(年の最小)
- datetime.timedelta.min(タイムデルタの最小)
- datetime.date.min(デートの最小)
- datetime.datetime.min(デートタイムの最小)
- datetime.time.min(タイムの最小)
使用したライブラリ
Python 公式マニュアルの場所です。
datetime モジュール
- datetime — 基本的な日付型および時間型
- 定数(じょうすう、ていすう)
- datetime.MINYEAR 年の最小
- timedelta オブジェクト
- timedelta.min タイムデルタの最小
- date オブジェクト
- date.min デートの最小
- datetime オブジェクト
- datetime.min デートタイムの最小
- datetime.strftime(format) エスティーアールエフタイム
- time オブジェクト
- time.min タイムの最小
- strftime() and strptime() Format Codes 書式化コード %Y %m %d %H %M %S %f %% などの一覧表
- 定数(じょうすう、ていすう)
組み込み機能
- f-string
f''
の説明(引用符の前に『エフ f 』を付けた文字列、フォーマット済み文字列リテラル) - エスティーアール フォーマット str.format() の説明
- パーセント % 演算子の説明
- 文字列操作の良いアプローチや書式指定方法の説明
コード例
『最小値』を取得するための 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