Python
 Computer >> コンピューター >  >> プログラミング >> Python

【Python入門】strptimeを使って日付文字列をdateオブジェクトに変換する方法

Pythonでは、datetimeモジュールのstrptime関数を使うことで、文字列形式の日付データを簡単にdatetimeオブジェクトへ変換できます。この関数には、変換したい日付の文字列と、その日付がどのような書式で記述されているかを示すフォーマット指定子の2つの引数を渡します。

基本的な使い方(サンプルコード)

以下の例では、「2017年12月29日」という日付が「29122017」という文字列として表現されている場合に、それを日付オブジェクトへ変換しています。

import datetime

date_str = '29122017'   # 日付文字列(2017年12月29日)
format_str = '%d%m%Y'   # 日付の書式指定

# 文字列をdatetimeオブジェクトに変換
datetime_obj = datetime.datetime.strptime(date_str, format_str)
print(datetime_obj.date())

実行結果

このコードを実行すると、次のように出力されます。

2017-12-29

主なフォーマット指定子の一覧

指定子意味
%d日(01〜31)
%m月(01〜12)
%Y西暦4桁(例:2017)
%y西暦2桁(例:17)
%H時(00〜23)
%M分(00〜59)
%S秒(00〜61)

ポイント

  • strptimeは「string parse time」の略で、文字列→日付の変換を行います。逆方向(日付→文字列)の変換にはstrftimeを使用します。
  • フォーマット指定子が実際の文字列と一致していない場合、ValueErrorが発生するため注意が必要です。
  • .date()メソッドを呼び出すことで、時刻情報を除いたdateオブジェクトのみを取得できます。
  1. Pythonで文字列から日付を抽出・解析する方法

    文字列から日付を抽出するには、まずその文字列内で日付がどのような形式(フォーマット)で表現されているかを把握しておく必要があります。基本的なアプローチとしては、正規表現(reモジュール)で日付部分を取り出し、datetime.datetime.strptime() で解析(パース)するという流れになります。例えば、文字列中に「YYYY-MM-DD」形式の日付が含まれている場合、以下のコードで抽出と解析ができます。コード例import re import datetime s = I have a meeting on 2018-12-10 in New York match = re.sea

  2. Pythonで文字列をバイナリ(2進数)に変換する方法をわかりやすく解説

    Pythonで文字列をバイナリに変換する基本の考え方Pythonで文字列をバイナリ(2進数)表現に変換するには、文字列内の各文字を1つずつ取り出し、それぞれを2進数へ変換したうえで、結果をひとつの文字列として連結します。各文字の文字コードは ord() 関数で取得でき、format() 関数に「b」フォーマット指定子を渡すことで、簡単に2進数形式へ整形できます。format() と ord() を使った変換方法最もシンプルなのが、format(ord(x), b) を使って各文字 x を2進数の文字列に変換する方法です。次の例では、文字列 hello world の各文字をスペース区切りのバイ