お世話になります。
よろしくお願いいたします。
・ブラウザで日付を入力して期間計算を行うプログラムを作成しています。
・西暦と和暦に対応して柔軟に入力できるようにしたいと考えています。
・和暦は西暦に変換して計算しようとしてるのですが、strptimeによる年数入力は4桁以上にしか対応していないのでしょうか? 和暦+二桁年ではエラーが出て受け付けられません。
是非ご教示いただければと存じます。どうぞよろしくお願いいたします。
from bottle import route, run, template, request import datetime from dateutil import relativedelta as rd @route("/test",method="POST") def test(): test_str = request.forms.nengo_start d1_str = request.forms.start if test_str == "昭和": d1 = datetime.datetime.strptime(d1_str,"%Y/%m/%d") + rd.relativedelta(years=1925) elif test_str == "平成": d1 = datetime.datetime.strptime(d1_str,"%Y/%m/%d") + rd.relativedelta(years=1988) elif test_str == "令和": d1 = datetime.datetime.strptime(d1_str,"%Y/%m/%d") + rd.relativedelta(years=2019) return template("test",result=d1) run(host="localhost",port=8080,debug=True)
テンプレート側
<html> <body> <form method="post" action="/test" style="display:inline;"> <p style="display:inline;">開始年月日</p> <select name="nengo_start"> <option value="昭和">昭和</option> <option value="平成">平成</option> <option value="令和">令和</option> </select> <input type="text" name="start"> <br> <p style="display:inline;">終了年月日</p> <select name="nengo_end"> <option value="昭和">昭和</option> <option value="平成">平成</option> <option value="令和">令和</option> </select> <input type="text" name="end"> <br> <input type="submit" value="送信"> </form> {{result}} </body> </html>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/01 21:55
2019/10/01 22:50
2019/10/02 21:33
2019/10/02 22:26
2019/10/03 23:18