職案人

求職・歴史・仏教などについて掲載するつもりだが、自分の思いつきが多いブログだよ。適当に付き合って下さい。

時刻など表す文字からインスタンス

2021年02月22日 | Python
日付や時刻を表す文字列からインスタンスを生成する


【開発環境】
OS:Win10(64ビット)
言語:Python3.8.5(64bit)
Python の統合開発環境:IDLE
IDLEの操作は別サイト参照のこと

【文字列を解析してインスタンスを生成する】
例えば "2020/07/22 10:4:38" などの日付と時刻を表す文字列から datetime クラスのインスタンスを生成することができます。

・書式
datetime.strptime(date_string, format)
1 番目の引数に日付や時刻を表す文字列、 2 番目の引数に解析に使用する書式を定義した文字列を指定します。

書式コード
%y : 2桁の年 00, 01, ..., 99
%Y : 4桁の月 0001, 0002, ..., 9999
%b : 月名の短縮形 Jan, Feb, ..., Dec
%B : 月名 January, February, ..., December
%m : 月 01, 02, ..., 12
%d : 日 01, 02, ..., 31
%H : 時(24時間) 00, 01, ..., 23
%I : 時(12時間) 00, 01, ..., 11
%p : AM or PM
%M : 分 00, 01, ..., 59
%S : 秒 00, 01, ..., 59
%f : マイクロ秒 000000, 000001, ..., 999999
%z : タイムゾーン (空文字列), +0000, -0400 etc
%Z : タイムゾーン名 (空文字列), UTC, EST

サンプルコード
Python 3.8.5 (tags/v3.8.5:580fbb0, Jul 20 2020, 15:57:54) [MSC v.1924 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>> import datetime
>>> str1 = "2020/07/22 13:37:4:33217"
>>> str2 = "07/22/2020 PM 1:37:4:33217"
>>> str3 = "July 22,2020 13:37:4:33217+09:00"
>>>
>>> dt1 = datetime.datetime.strptime(str1, "%Y/%m/%d %H:%M:%S:%f")
>>> dt2 = datetime.datetime.strptime(str2, "%m/%d/%Y %p %I:%M:%S:%f")
>>> dt3 = datetime.datetime.strptime(str3, "%B %d,%Y %H:%M:%S:%f%z")
>>>
>>> print(dt1)
2020-07-22 13:37:04.332170
>>> print(dt2)
2020-07-22 13:37:04.332170
>>> print(dt3)
2020-07-22 13:37:04.332170+09:00
>>>

コメント    この記事についてブログを書く
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 時に関するクラスのインスタ... | トップ | 時刻の値を書式化して文字列... »
最新の画像もっと見る

コメントを投稿

Python」カテゴリの最新記事