0
私はPythonでFlaskアプリケーションを構築していますが、私はユーザーの現地時間を保存したいと思います。Flask、現地時間を取得
私はこの
time.strftime('%A %B, %d %Y %H:%M:%S')
を使用してしかし、これは私のサーバーのローカル時間を与えていると考えます。
私はPythonでFlaskアプリケーションを構築していますが、私はユーザーの現地時間を保存したいと思います。Flask、現地時間を取得
私はこの
time.strftime('%A %B, %d %Y %H:%M:%S')
を使用してしかし、これは私のサーバーのローカル時間を与えていると考えます。
フラスコはサーバー側のみを担当します。
あなたの目的は、JavaScriptを使用してクライアントサイドタイムを取得し、サーバーに渡すことによって達成できます。
フォルダ構造
.
├── app.py
└── templates
└── index.html
app.py
from flask import Flask, request, render_template
import time
app = Flask(__name__)
@app.route("/")
def index():
return render_template("index.html")
@app.route("/getTime", methods=['GET'])
def getTime():
print("browser time: ", request.args.get("time"))
print("server time : ", time.strftime('%A %B, %d %Y %H:%M:%S'));
return "Done"
テンプレート/ index.htmlを
<script>
function sendTimeToServer(){
var time = new Date();
var i = document.createElement("img");
i.src = "/getTime?time=" + time;
document.getElementById("time").innerHTML = time;
}
</script>
<button onclick="sendTimeToServer()">update time</button>
<div id="time">Time: </div>
コンソールの結果の例
# 1. open browser: http://127.0.0.1:5000
# 2. click "update time" button
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
127.0.0.1 - - [01/Nov/2016 19:58:36] "GET/HTTP/1.1" 200 -
browser time: Tue Nov 01 2016 19:58:37 GMT 0800 (CST)
server time: Tuesday November, 01 2016 19:58:37
127.0.0.1 - - [01/Nov/2016 19:58:37] "GET /getTime?time=Tue%20Nov%2001%202016%2019:58:37%20GMT+0800%20(CST) HTTP/1.1" 200 -