前提
pythonとraspberrypieを活用した監視操作Webシステムを作成しています。
現在、WEBシステムでDBに登録された時間が来たら実行するという仕組みを作りたいのですが、現在の時間とDBに登録された時間の比較がわかりません。
調べるとscheduleを使用することがでてきますが、実行の時間は変わってくるので、DBから参照のような形で行いたいです。
DBにはラズベリーパイで取り出しやすいようにINTERGER型で時間、分それぞれを登録しています。
イメージとしては入力された終了時間がきたら、データベース情報を破棄(更新)という形ですが、scheduleを使用したり、datatimeを使用したりしましたが、正しい形を見つけることができませんでした。ヒントを頂けますと幸いです。
追記
現在はDBからとってきた数値との比較を行い、現在との時間と比較して一緒ならば処理をはじめ、一緒でないならエラー画面に飛ぶように調整しています。vscodeで実行しているのですが、このコードだと 「t = now.strftime('%H:%M')」というコードですが、変数tにはターミナル実行時の時間しか入りません。
python
1import sqlite3 2from flask import Flask,render_template,request,g 3from flask import redirect 4from flask import url_for 5from flask import make_response 6import time 7import datetime 8t_delta = datetime.timedelta(hours=9) 9JST = datetime.timezone(t_delta, 'JST') 10now = datetime.datetime.now(JST) 11 12 13@egamipro.route('/haki', methods=["POST"]) 14def haki(): 15 con = get_db() 16 owarijikan = con.execute("select 終了時間 from bikuteini") 17 owarihun = con.execute("select 終了分 from bikuteini") 18 data = owarijikan.fetchall() 19 data1 = owarihun.fetchall() 20 h=data[0][0] 21 m=data1[0][0] 22 hm=str(h)+':'+str(m) 23 print(hm) 24 t = now.strftime('%H:%M') 25 print(t) 26 if (hm==t): 27 28 return render_template('login.html') 29 else : 30 return render_template('err.html')
回答3件
あなたの回答
tips
プレビュー