工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Python

Python strptime()

Python strptime()

この記事では、(例を使用して) 文字列から日時オブジェクトを作成する方法を学習します。

ビデオ:Python での日付と時刻

strptime() メソッドは、指定された文字列から日時オブジェクトを作成します。

注: datetime は作成できません すべての文字列からのオブジェクト。文字列は特定の形式である必要があります。


例 1:文字列から日時オブジェクトへ


from datetime import datetime

date_string = "21 June, 2018"

print("date_string =", date_string)
print("type of date_string =", type(date_string))

date_object = datetime.strptime(date_string, "%d %B, %Y")

print("date_object =", date_object)
print("type of date_object =", type(date_object))

プログラムを実行すると、出力は次のようになります:


date_string = 21 June, 2018
type of date_string = <class 'str'>
date_object = 2018-06-21 00:00:00
type of date_object = <class 'datetime.datetime'>

strptime() の仕組み

strptime() クラス メソッドは 2 つの引数を取ります:

使用される文字列とフォーマット コードに基づいて、メソッドは同等の datetime を返します。 オブジェクト。

上記の例では:

ここで、


例 2:文字列から日時オブジェクトへ


from datetime import datetime

dt_string = "12/11/2018 09:15:32"

# Considering date is in dd/mm/yyyy format
dt_object1 = datetime.strptime(dt_string, "%d/%m/%Y %H:%M:%S")
print("dt_object1 =", dt_object1)

# Considering date is in mm/dd/yyyy format
dt_object2 = datetime.strptime(dt_string, "%m/%d/%Y %H:%M:%S")
print("dt_object2 =", dt_object2)

プログラムを実行すると、出力は次のようになります:

dt_object1 = 2018-11-12 09:15:32
dt_object2 = 2018-12-11 09:15:32

フォーマット コード リスト

以下の表は、使用できるすべての形式コードを示しています。

ディレクティブ 意味
%a 曜日の略称。 日、月、...
%A 完全な曜日名 日曜日、月曜日、...
%w 10 進数としての平日。 0, 1, ..., 6
%d 0 で埋められた 10 進数としての日。 01、02、...、31
%-d 10 進数としての日。 1, 2, ..., 30
%b 月の略称。 1 月、2 月、...、12 月
%B 完全な月の名前 1 月、2 月、...
%m ゼロで埋められた 10 進数としての月。 01、02、...、12
%-m 10 進数としての月。 1, 2, ..., 12
%y 0 で埋められた 10 進数としての世紀のない年。 00、01、...、99
%-y 10 進数としての世紀のない年。 0, 1, ..., 99
%Y 世紀を 10 進数として表した年。 2013年、2019年など
%H 時間 (24 時間制) を 0 で埋めた 10 進数で表します。 00、01、...、23
%-H 10 進数としての時間 (24 時間制)。 0, 1, ..., 23
%I 時間 (12 時間制) をゼロで埋めた 10 進数として表します。 01、02、...、12
%-I 10 進数としての時間 (12 時間制)。 1, 2, ... 12
%p ロケールの AM または PM。 午前、午後
%M ゼロで埋められた 10 進数としての分。 00、01、...、59
%-M 10 進数としての分。 0, 1, ..., 59
%S 0 で埋められた 10 進数としての 2 番目。 00、01、...、59
%-S 10 進数としての秒。 0, 1, ..., 59
%f 10 進数としてのマイクロ秒。左側にゼロが埋め込まれます。 000000 - 999999
%z +HHMM または -HHMM 形式の UTC オフセット
%Z タイムゾーン名。
%j 0 で埋められた 10 進数としての年間通算日 001, 002, ..., 366
%-j 10 進数としての年間通算日 1, 2, ..., 366
%U 年の週番号 (週の最初の日としての日曜日)。新年の最初の日曜日より前のすべての日は、第 0 週と見なされます。 00、01、...、53
%W 年の週番号 (月曜日を週の最初の日とする)。新年の最初の月曜日より前のすべての日は、第 0 週と見なされます。 00、01、...、53
%c ロケールの適切な日付と時刻の表現。 2013 年 9 月 30 日月曜日 07:06:05
%x ロケールの適切な日付表現。 2013 年 9 月 30 日
%X ロケールの適切な時間表現。 07:06:05
%% 文字通りの「%」文字。 %

strptime() の ValueError

strptime() に渡された文字列 (第 1 引数) と書式コード (第 2 引数) 一致しない場合、ValueError が返されます .例:


from datetime import datetime

date_string = "12/11/2018"
date_object = datetime.strptime(date_string, "%d %m %Y")

print("date_object =", date_object)

このプログラムを実行すると、エラーが発生します。

ValueError: time data '12/11/2018' does not match format '%d %m %Y'

推奨読書: Python strftime()


Python

  1. Python のキーワードと識別子
  2. Python データ型
  3. Python 演算子
  4. Python pass ステートメント
  5. Python 関数の引数
  6. Python 辞書
  7. Python イテレータ
  8. Python クロージャー
  9. Python正規表現
  10. Python 日時
  11. Python 時間モジュール