現在、私はPythonを学習しており、データ検証を学ぶために自分自身で取り組んでいます。私が立ち往生したことの一つは、日付と時刻の検証です。このプログラムは、date_start
,time_start
,date_end
およびtime_end
を含む多くのパラメータを取ります。私はISOフォーマットでそれらを必要としています。その形式になったら、それらが有効であることを確認する必要があります。それは私が立ち往生している場所です。datetime入力値が指定されていない場合
from datetime import datetime
def validate_date(date_start, time_start, date_end, time_end):
full_date_start = date_start + time_start
full_date_end = date_end + time_end
try:
formatted_time_start = datetime.strptime(full_date_start, "%Y-%m-%d%H:%M:%S").isoformat(sep="T", timespec="seconds")
formatted_time_end = datetime.strptime(full_date_end, "%Y-%m-%d%H:%M:%S").isoformat(sep="T", timespec="seconds")
return True
except ValueError:
return False
date_start = "2017-06-29"
time_start = "16:24:00"
date_end = "2017-06-"
time_end = "16:50:30"
print(validate_date(date_start, time_start, date_end, time_end))
print("Date Start: " + date_start + "\nTime Start: " + time_start + "\nDate End: " + date_end + "\nTime End: " + time_end)
バックこのチェックが失敗している必要があります、または私は一日だったので、それが持っているべきだと考え
2017-06-01T06:50:30
だった私はdate_end
のための日と私が得た出力を除去することにより、コードの一部をテストしていました供給されません。どんな助けもありがたいことです。これを行う簡単な方法があれば、私はそれを取るでしょう。ありがとうございました!
解決しました。おかげでフェリペ! – spaceghost
まだその日は自動入力されませんか? – Alter
それは以前はやっていなかった、それは '16'が半分に分割されただけで、 '1'は日の部分に行き、 '6'は時間の部分に行きました。空白スペースを追加すると、スペースの前の日とスペースの後の時間を検索する必要があります。 –