Python バックエンド プログラム言語

Pythonのdatetimeでnowで現在時刻、年月日、曜日を取得

2020年5月19日

こんにちは!TodoONadaの土門(@daikidomon)です。

datetime.now()で、

  • 現在時刻
  • 現在の年月日
  • 現在の曜日

などを取得する方法を紹介したいと思います。

datetimeモジュールは標準ライブラリなので、特別にインストールする必要はありません。

参考基本的な日付型および時間型

datetime.now()の使い方

datetime.now()では、

  • 時間
  • マイクロ秒
  • 曜日

を取得することが出来ます。

from datetime import datetime

# 現在日時のdatetimeオブジェクトを取得
datetime.now()

# 現在年の取得
datetime.now().year

# 現在月の取得
datetime.now().month

# 現在日の取得
datetime.now().day

# 現在時間(時)の取得
datetime.now().hour

# 現在時間(分)の取得
datetime.now().minute

# 現在時間(秒)の取得
datetime.now().second

# 現在時間(マイクロ秒)の取得
datetime.now().microsecond

サンプルは以下になります。

from datetime import datetime 

コマンド                            結果
datetime.now()                     2020-05-19 15:26:50.199571

datetime.now().year                2020

datetime.now().month               5

datetime.now().day                 19

datetime.now().hour                15

datetime.now().minute              26

datetime.now().second              50

datetime.now().microsecond         199571

datetime.now()の文字列フォーマット

今度日付フォーマットdatetime.now()を文字列をしてフォーマットを変更して表示することが出来ます。

from datetime import datetime

# 現在日時のdatetimeオブジェクトを取得
datetime.now()

# 現在年(4桁)の取得
datetime.now().strftime('%Y')

# 現在年(下2桁)の取得
datetime.now().strftime('%y')

# 現在月 (10 進表記)の取得 [01,12]
datetime.now().strftime('%m')

# 現在月 (月名)の取得
datetime.now().strftime('%B')

# 現在月 (短縮月名)の取得
datetime.now().strftime('%b')

# 現在日 (数字)の取得[01,31]
datetime.now().strftime('%d')

# 現在時刻(時)の取得。範囲[00,23]
datetime.now().strftime('%H')

# 現在時刻(時)の取得。範囲[00,12]
datetime.now().strftime('%I')

# 午前/午後の表示[AM,PM]
datetime.now().strftime('%p')

# 現在時刻(分)の取得[00,59]
datetime.now().strftime('%M')

# 現在時刻(秒)の取得[00,61]
datetime.now().strftime('%S')

# 現在の曜日名取得
datetime.now().strftime('%A')

# 現在の曜日名(短縮)取得
datetime.now().strftime('%a')

# 曜日(10 進表記)を取得[0 (日曜日),6]
datetime.now().strftime('%w')

# 現在何週目かを取得(日曜初め) [00,53]
datetime.now().strftime('%U')

# 現在何週目かを取得(月曜初め) [00,53]
datetime.now().strftime('%W')

# 日付を適切な形式で取得
datetime.now().strftime('%x')

# 時間を適切な形式で取得
datetime.now().strftime('%X')

# 年中の日にちを取得 [001,366]
datetime.now().strftime('%j')

# 日時を適切な形式で取得
datetime.now().strftime('%c')

# 年/月/日 時:分:秒で時間を取得
datetime.now().strftime('%Y/%m/%d %H:%M:%S')

サンプルは以下になります。

from datetime import datetime 

# コマンド                                                                       結果
datetime.now().strftime('%Y/%m/%d %H:%M:%S')                                 2020/05/19 15:39:38

datetime.now().strftime('%Y')                                                   2020

datetime.now().strftime('%y')                                                   20

datetime.now().strftime('%m')                                                   05

datetime.now().strftime('%B')                                                   May

datetime.now().strftime('%b')                                                   May (五月はMayですので短縮もMayです,一月のJanuaryはJanになります)

datetime.now().strftime('%d')                                                   19

datetime.now().strftime('%H')                                                   15

datetime.now().strftime('%I')                                                   03

datetime.now().strftime('%p')                                                   PM

datetime.now().strftime('%M')                                                   39

datetime.now().strftime('%S')                                                   38

datetime.now().strftime('%A')                                                   Tuesday

datetime.now().strftime('%a')                                                   Tue

datetime.now().strftime('%w')                                                   2

datetime.now().strftime('%U')                                                   20

datetime.now().strftime('%W')                                                   20

datetime.now().strftime('%x')                                                   05/19/20 (月/日/年)

datetime.now().strftime('%X')                                                   15:39:38                                        

datetime.now().strftime('%j')                                                   140

datetime.now().strftime('%c')                                                   Tue May 19 15:39:38 2020 (曜日 月 日 時:分:秒 年)

 

関連記事

-Python, バックエンド, プログラム言語

Copyright© スタートアップIT企業社長のブログ , 2020 All Rights Reserved.