【Python】datetime で『現在の日付と時刻』を取得するコード例

Python

Python モジュールで『現在げんざい日付ひづけ時刻じこく年月日ねんがっぴ 時分秒じふんびょう』を取得するコード例です。

以下のメソッドを使用すると取得できました。

  • datetime.datetime.now() デートタイム ナウ
  • datetime.datetime.today() デートタイム トゥデイ
  • datetime.date.today() デート トゥデイ

これで、日本なら『日本での日付ひづけ時刻じこく』が取得できました。

通常は、万能ばんのうdatetime.datetime.now() を使うのが便利でした。

Python マニュアルによると、now() と today() の違いは、タイムゾーン情報を『受け取れる』か『受け取れない』か、というところにありました。

datetime.datetime.now() は、タイムゾーン情報を『受け取れる』。

datetime.datetime.today() は、タイムゾーン情報を『受け取れない(受け取らない)』。

使用したライブラリ

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

datetime モジュール

組み込み機能

コード例

datetimeデートタイム モジュールで『現在の日付と時刻(年月日ねんがっぴ 時分秒じふんびょう』を取得する Python コード例です。

実行結果は、実行した時刻によって変わりました。

datetime.now()

import datetime

# datetime.now() で『現在の日付と時刻』を取得して表示するコード
t = datetime.datetime.now()
print('datetime.datetime.now()')
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.now()

datetime.datetime.now()
2019-12-02 08:53:20.142959

# f-string
year: 2019
month: 12
day: 2
hour: 8
minute: 53
second: 20
microsecond: 142959
tzinfo: None

# str.format()
year: 2019
month: 12
day: 2
hour: 8
minute: 53
second: 20
microsecond: 142959
tzinfo: None

# % 演算子
year: 2019
month: 12
day: 2
hour: 8
minute: 53
second: 20
microsecond: 142959
tzinfo: None

datetime.now() ⇒ strftime() で書式設定して表示

import datetime

# datetime.now() で『現在の日付と時刻』を取得して、
# strftime() で書式設定してから表示するコード。
t = datetime.datetime.now()
print('datetime.datetime.now()')
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.now() ⇒ strftime()

datetime.datetime.now()
2019-12-02 08:53:20.143959

英数字 %Y/%m/%d %H:%M:%S.%f
2019/12/02 08:53:20.143959

日本語 str.format(キーワード引数)
2019年 12月 02日 08時 53分 20秒 143959マイクロ秒

日本語 str.format(位置引数)
2019年 12月 02日 08時 53分 20秒 143959マイクロ秒

日本語 % 演算子 dict()
2019年 12月 02日 08時 53分 20秒 143959マイクロ秒

日本語 % 演算子(位置引数)
2019年 12月 02日 08時 53分 20秒 143959マイクロ秒

datetime.today()

import datetime

# datetime.today() で『現在の日付と時刻』を取得して表示するコード
t = datetime.datetime.today()
print('datetime.datetime.today()')
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')

実行結果 datetime.today()

datetime.datetime.today()
2019-12-02 08:53:20.144960

# f-string
year: 2019
month: 12
day: 2
hour: 8
minute: 53
second: 20
microsecond: 144960
tzinfo: None

date.today()

import datetime

# date.today() で『現在の日付』を取得して表示するコード
t = datetime.date.today()
print('datetime.date.today()')
print(f'{t}\n')

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

実行結果 date.today()

datetime.date.today()
2019-12-02

# f-string
year: 2019
month: 12
day: 2
スポンサーリンク
シェアする(押すとSNS投稿用の『編集ページ』に移動します)
フォローする(RSSフィードに移動します)
スポンサーリンク
シラベルノート
タイトルとURLをコピーしました