Str2DateTime

概要

読み込んだ日時の文字列を柔軟にdatetime形式に変換する.

引数

日付(str型)

戻り値

日付(datetime型)

コード

import datetime

#201129:読み込んだ日時の文字列を柔軟にdatetime形式に変換する
def Str2DateTime(time_str):
    print(time_str)
    try:
        # テキストに素直に保存したままの履歴ファイルなら,日付は下記形式で読める
        time_datetime = datetime.datetime.strptime(time_str, "%Y-%m-%d %H:%M:%S")  # datetimeに変換
    except:
        # エクセルで開いて保存したら,日付の形式が変わりやがるので,下記形式で読み直す
        try:
            time_datetime = datetime.datetime.strptime(time_str, "%Y/%m/%d %H:%M")  # datetimeに変換
        except:
            time_datetime = datetime.datetime.strptime(time_str, "%Y/%m/%d %H:%M:%S")  # datetimeに変換
    return(time_datetime)

csvに保存した日付データをエクセルで開いて,うっかり保存すると,勝手に表示形式が変わり,pythonで”日付として”うまく認識できなくなるという,しょーもない問題が発生した.
そこで,文字列の日付は,ある程度形式がバラバラでも,datetime形式に変換できる関数が欲しいなと思って作った.そこそこ便利?

コメント

タイトルとURLをコピーしました