logo

Python DateTime – strptime() 関数

strptime() これは、DateTime で使用できる別のメソッドであり、文字列形式のタイムスタンプを日付/時刻オブジェクトにフォーマットするために使用されます。

構文 : datetime.strptime(time_data, format_data)



パラメータ:

  • time_data は文字列形式で表される時刻です。
  • format_data は、この関数を使用して time_data から変換された日時形式のデータです。

strptime() はどのように機能するのでしょうか?

この関数は、時間を指定する文字列と、文字列を変更するための形式コードの 2 つの引数を受け取ります。文字列は、以下のコードのリストに従って DateTime オブジェクトに変更されます。

フォーマットコード



フォーマットコード 意味
%a 曜日の略称 サン、マイ
%A 完全な曜日名 日曜日月曜日
%で 曜日を 10 進数で表示 0…6
%d ゼロ埋めされた 10 進数としての日付 01、02
%-d 10 進数での月の日 1、2..
%b 月の略称 1月、2月
%m ゼロ埋めされた 10 進数としての月 01、02
%-m 月を 10 進数で表す 1、2
%B 完全な月名 一月二月
%そして ゼロ埋めされた 10 進数としての世紀のない年 99.00
%-そして 10 進数としての世紀のない年 0.99
%そして 世紀を 10 進数で表した年 2000年、1999年
%H ゼロ埋めされた 10 進数としての時間 (24 時間時計) 01、23
%-H 10進数での時間(24時間時計) 1、23
%私 ゼロ埋めされた 10 進数としての時間 (12 時間時計) 01、12
%-私 10 進数としての時間 (12 時間時計) 1、12
%p ロケールの午前または午後 午前午後
%M ゼロ埋めされた 10 進数としての分 01、59
%-M 分を 10 進数で表したもの 1、59
%S ゼロ埋めされた 10 進数としての 2 番目 01、59
%-S 10 進数としての秒 1、59
%f マイクロ秒を 10 進数で表し、左側にゼロを埋め込みます。 000000、999999
%と +HHMM または -HHMM 形式の UTC オフセット
%と タイムゾーン名
%j ゼロ埋めされた 10 進数としての日付 001、365
%-j 10 進数で表した日付 1,365
%で その年の週番号 (日曜日が最初) 0、6
%で その年の週番号 00、53
%c ロケールの適切な日付と時刻の表現 月 9 月 30 07:06:05 2013
%バツ ロケールの適切な日付表現 1998/11/30
%バツ ロケールの適切な時間表現 10:03:43
%% リテラルの「%」文字 %

例 1: 日時を読み取り、strptime を使用してすべての時刻データを取得する Python プログラム。ここでは、文字列形式で時刻データを取得し、時、分、秒、ミリ秒を抽出します。

Python3






# import datetime module from datetime> from> datetime>import> datetime> # consider the time stamp in string format> # DD/MM/YY H:M:S.micros> time_data>=> '25/05/99 02:35:5.523'> # format the string in the given format :> # day/month/year hours/minutes/seconds-micro> # seconds> format_data>=> '%d/%m/%y %H:%M:%S.%f'> # Using strptime with datetime we will format> # string into datetime> date>=> datetime.strptime(time_data, format_data)> # display milli second> print>(date.microsecond)> # display hour> print>(date.hour)> # display minute> print>(date.minute)> # display second> print>(date.second)> # display date> print>(date)>

>

>

出力:

523000

2

35

5

1999-05-25 02:35:05.523000

リナックスメイク

例 2: strptime を使用する Python コード。ここでは、文字列形式で時刻データを取得し、%d/%m/%y %H:%M:%S.%f 形式でタイムスタンプを抽出します。

Python3




# import datetime module from datetime> from> datetime>import> datetime> # consider the time stamps from a list in string> # format DD/MM/YY H:M:S.micros> time_data>=> [>'25/05/99 02:35:8.023'>,>'26/05/99 12:45:0.003'>,> >'27/05/99 07:35:5.523'>,>'28/05/99 05:15:55.523'>]> # format the string in the given format : day/month/year> # hours/minutes/seconds-micro seconds> format_data>=> '%d/%m/%y %H:%M:%S.%f'> # Using strptime with datetime we will format string> # into datetime> for> i>in> time_data:> >print>(datetime.strptime(i, format_data))>

のインスタンス

>

>

出力:

1999-05-25 02:35:08.023000

1999-05-26 12:45:00.003000

1999-05-27 07:35:05.523000

1999-05-28 05:15:55.523000

strptime() 自体を使用することで、すべての日付を含む構造に続く時刻を取得できます。

構文 :

time.strptime(タイムスタンプ、'%d/%m/%y %H:%M:%S')

ここで、タイムスタンプには時刻と日付が含まれます

: 構造体の時間を取得するための Python コード:

Python3




#import time> import> time> # get data of 4 th april 2021 at time 9 pm> print>(time.strptime(>'04/04/21 09:31:22'>,>'%d/%m/%y %H:%M:%S'>))> # get data of 5 th april 2021 at time 9 pm> print>(time.strptime(>'05/04/21 09:00:42'>,>'%d/%m/%y %H:%M:%S'>))> # get data of 6 th april 2021 at time 9 pm> print>(time.strptime(>'06/04/21 09:11:42'>,>'%d/%m/%y %H:%M:%S'>))> # get data of 7 th april 2021 at time 9 pm> print>(time.strptime(>'07/04/21 09:41:12'>,>'%d/%m/%y %H:%M:%S'>))>

>

>

出力:

time.struct_time(tm_year=2021, tm_mon=4, tm_mday=4, tm_hour=9, tm_min=31, tm_sec=22, tm_wday=6, tm_yday=94, tm_isdst=-1)

time.struct_time(tm_year=2021, tm_mon=4, tm_mday=5, tm_hour=9, tm_min=0, tm_sec=42, tm_wday=0, tm_yday=95, tm_isdst=-1)

time.struct_time(tm_year=2021, tm_mon=4, tm_mday=6, tm_hour=9, tm_min=11, tm_sec=42, tm_wday=1, tm_yday=96, tm_isdst=-1)

time.struct_time(tm_year=2021, tm_mon=4, tm_mday=7, tm_hour=9, tm_min=41, tm_sec=12, tm_wday=2, tm_yday=97, tm_isdst=-1)

文字列日時を yyyy-mm-dd 日時形式で取得することもできます。 yyyy-mm-dd は年-月-日を表します。 strptime() 関数を使用して、文字列形式を DateTime に変換できます。 「%Y/%m/%d」形式を使用して文字列を日時に取得します。

構文: datetime.datetime.strptime(入力,形式)

パラメータ:

  • 入力は文字列日時です
  • format は、「yyyy-mm-dd」という形式です。
  • datetime はモジュールです

まず、モジュールがインポートされ、入力 DateTime 文字列が指定されます。次に、strptime を使用して必要な形式を取得し、date() 関数を使用して DateTime から日付を取得します。

例1 : 文字列日時形式を日時形式に変換する Python プログラム

私のライブクリクレット

Python3




# import the datetime module> import> datetime> # datetime in string format for may 25 1999> input> => '2021/05/25'> # format> format> => '%Y/%m/%d'> # convert from string format to datetime format> datetime>=> datetime.datetime.strptime(>input>,>format>)> # get the date from the datetime using date()> # function> print>(datetime.date())>

>

>

出力:

2021-05-25

例 2: 文字列日時のリストを日時に変換します

Python3




# import the datetime module> import> datetime> # datetime in string format for list of dates> input> => [>'2021/05/25'>,>'2020/05/25'>,>'2019/02/15'>,>'1999/02/4'>]> # format> format> => '%Y/%m/%d'> for> i>in> input>:> > ># convert from string format to datetime format> ># and get the date> >print>(datetime.datetime.strptime(i,>format>).date())>

>

>

出力:

2021-05-25

2020-05-25

2019-02-15

1999-02-04

DateTime を表示することもできます %d/%m/%Y %H:%M:%S フォーマット。このために、日付-月-年 時:分;秒の形式でデータを取得します。したがって、入力日時文字列を取得してこの形式を取得する必要があります

構文: datetime.strptime(input_date, %d/%m/%Y %H:%M:%S)

パラメータ:

画像付きのマークダウン
  • datetime はモジュールです
  • input_date は文字列の日時形式です。
  • strptime は、input_date 文字列を datetime に変換するために使用されます。

例 3: 文字列日時を %d/%m/%Y %H:%M:%S 形式に取得する Python プログラム

Python3




#import datetime> from> datetime>import> datetime> # consider the datetime string in dd/mm/yyyy> # hh:mm:ss format> date>=> '25/05/2021 02:35:15'> # convert string datetime to dd/mm/yyyy hh:mm:ss> # format> datetime_date>=> datetime.strptime(date,>'%d/%m/%Y %H:%M:%S'>)> print>(datetime_date)>

>

>

出力:

2021-05-25 02:35:15