我正在從 URL 輸入中獲取日期值,可以添加/減去天數,顯示“這是錯誤的日期輸入,親愛的客戶”,例如下面的輸入
輸入:
http://..../data?date=2022-01-01&diff=5&op={add,del}
http://..../data?date=2022-01-01&diff=13&op=add
期望輸出:
差異是:5
日期為:2022-01-01
新日期為:2022-01-14
from datetime import datetime, timedelta
from flask import Flask, request
from datetime import date, datetime, time ,timedelta
# python testcodefmweb_clone.py
app = Flask(__name__)
@app.route('/data')
def query_example():
date = request.args['date']
diff = request.args['diff']
diff_int = int(diff)
diff_date = int(date)
date_in_system = datetime.strptime( date, "%Y-%m-%d")
new_date = date_in_system datetime.timedelta(days = diff_int)
return '''
<h1>The diff is: {}</h1>
<h1>The date is: {}</h1>
<h1>The new_date is: {}'''.format(diff, date_in_system , new_date)
if __name__ == '__main__':
# run app in debug mode on port 5000
app.run(debug=True, port=5000)
該網站現在看起來像(new_date 計算不起作用)
python代碼圖片
我搜索了[try] [except]可以幫助顯示“這是錯誤的日期輸入,親愛的客戶~”
現在我正在準備將操作添加,洗掉作業以添加/減去天數,并顯示錯誤輸入的錯誤
from datetime import datetime, timedelta
from flask import Flask, request
from datetime import date, datetime, time ,timedelta
app = Flask(__name__)
@app.route('/data')
def query_example():
date = request.args['date']
diff = request.args['diff']
diff_int = int(diff)
date_in_system = datetime.strptime( date, "%Y-%m-%d")
new_date_add = date_in_system timedelta(days = diff_int )
new_date_minus = date_in_system - timedelta(days = diff_int )
return '''
<h1>The diff is: {}</h1>
<h1>The date is: {}</h1>
<h1>The new_date_minus is: {}</h1>
<h1>The new_date_add is: {}'''.format(diff, date_in_system , new_date_minus ,new_date_add)
if __name__ == '__main__':
# run app in debug mode on port 5000
app.run(debug=True, port=5000)
(圖片)網站看起來像
正在努力在[try] [except]代碼中顯示用戶錯誤“對不起,輸入錯誤親愛的客戶?”
第三個[try] [except]表明網站不作業
(圖片)網站的第三個代碼(不作業)
from datetime import datetime, timedelta
from flask import Flask, request
from datetime import date, datetime, time ,timedelta
app = Flask(__name__)
@app.route('/data')
def query_example():
date = request.args['date']
diff = request.args['diff']
diff_int = int(diff)
date_in_system = datetime.strptime( date, "%Y-%m-%d")
new_date_add = date_in_system timedelta(days = diff_int )
new_date_minus = date_in_system - timedelta(days = diff_int )
try:
datetime.datetime.strptime(date, "%Y-%m-%d")
return '''
<h1>The diff is: {}</h1>
<h1>The date is: {}</h1>
<h1>The new_date_minus is: {}</h1>
<h1>The new_date_add is: {}'''.format(diff, date_in_system , new_date_minus ,new_date_add)
except ValueError:
print("sorry, wrong input for date dear customer~")
if __name__ == '__main__':
# run app in debug mode on port 5000
app.run(debug=True, port=5000)
解決了!看下面的代碼
import datetime
from datetime import datetime, timedelta
from flask import Flask, request
from datetime import date, datetime, time ,timedelta
app = Flask(__name__)
@app.route('/data')
def query_example():
try:
date = request.args['date']
diff = request.args['diff']
op = request.args.get('op')
diff_int = int(diff)
date_in_system = datetime.strptime( date, "%Y-%m-%d")
new_date_add = date_in_system timedelta(days = diff_int )
new_date_minus = date_in_system - timedelta(days = diff_int )
final_date = 0
if op == "add":
final_date = date_in_system timedelta(days = diff_int )
if op == "del":
final_date = date_in_system - timedelta(days = diff_int )
except Exception as e:
return '''
<h1>捕捉錯誤資訊: {}</h1>
'''.format(diff str(e))
return '''
<h1>The diff is: {}</h1>
<h1>The date is: {}</h1>
<h1>The op is: {}</h1>
<h1>The final_date is: {}'''.format(diff, date_in_system , op, final_date)
if __name__ == '__main__':
# run app in debug mode on port 5000
app.run(debug=True, port=5000)
(圖片)向用戶顯示輸入錯誤的網站
(圖片)正確輸入結果的網站
uj5u.com熱心網友回復:
我認為您需要更改new_date = date_in_system datetime.timedelta(days = diff_int)為,new_date = date_in_system timedelta(days = diff_int)因為您匯入了timedelta.
您的預期輸出應該是:
The diff is: 5
The date is: 2022-01-01
The new_date is: 2022-01-06
2022-01-06如果新日期是而不是,下面的代碼片段應該可以滿足您的需求2022-01-14:
from datetime import date, datetime, timedelta
date = "2022-01-01"
diff_int = 5
date_in_system = datetime.strptime( date, "%Y-%m-%d")
new_date = date_in_system timedelta(days = diff_int)
print(new_date)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/510344.html
下一篇:USB設備的唯一識別符號
