IDA Life Blog

HOME  >  勉強
カテゴリー : 勉強 - プログラミング
•Python •日付 •datetime

公開日: 2024-01-29
最終更新日: 2024-01-29

日付の取得と、その使用例【Python】


Pythonを使用していて、Pythonを実行した時点の日付を取得したいことがあります。たとえば、HTMLのメタ情報に日付を記述したい場合などです。この記事では、日付の取得と、その使用例について書きます。

Contents
• 日付を取得する
• 取得した日付を文字列に変換する。
• 取得した日付の使用例
◦ 目的
• まとめ

日付を取得して表示するコード例を以下に示します。

import datetime

d = datetime.datetime.now()

print(d)
print(type(d))

実行結果は以下のとおりです。

2024-01-29 10:32:31.649531
<class 'datetime.datetime'>

このコードは以下の処理をおこなっています。

  1. dateimeモジュールをインポートする。
  2. datetime.now()メソッドを呼び出す。
  3. 変数dを表示する。
  4. 変数dの型を表示する。

print(type(d))の結果から、変数dは文字列ではなく、オブジェクトであることがわかります。

そのため、変数dを文字列として扱おうとするとエラーになります。以下にエラーとなるコードの例を示します。

import datetime

d = datetime.datetime.now()

s = d[0]

print(s)

実行結果は以下のとおりです。

TypeError: 'datetime.datetime' object is not subscriptable

なお、以下のコードは変数dが文字列であるため、エラーになりません。

import datetime

#d = datetime.datetime.now()
d= 'abcdefg'

s = d[0]

print(s)

このコードは、"abcdefg"という文字列の一番左の文字を表示するものです。

実行結果は以下のとおりです。

a


datetime.now()メソッドで取得した日付を、文字列に変換するとします。ここで、変換後の文字列は「YYYY-MM-DD」形式とします。

[sample.py]
import datetime

d = datetime.datetime.now()

dStr = d.strftime('%Y-%m-%d')

print(dStr)
print(type(dStr))

実行結果は以下のとおりです。

2024-01-29
<class 'str'>

日付を文字列に変換することができました。

#sample.pyでは、日付データを文字列に変換するために、strftime()メソッドを使っています。

PythonでHTMLファイルを作成する際、作成した日付を、文書の発行日としてファイルに記録しておくとします。日付はHTMLのメタタグに記入します。例を以下に示します。

<meta name="date" content="2024-01-29">

サンプルコードを以下に示します。

[sample2.py]
import datetime

d = datetime.datetime.now()

dStr = d.strftime('%Y-%m-%d')

metaDate = '<meta name="date" content="★★★">'
metaDate = metaDate.replace('★★★', dStr)

print(metaDate)

実行結果は以下のとおりです。

<meta name="date" content="2024-01-29">

Pythonを実行した日付を、HTMLのメタタグに記入できました。

#sample2.pyは、★★★という文字列をreplace()メソッドを使って日付に置換しています。