2016-11-01 3 views
0

Ich baue eine Flask-App in Python und möchte die lokale Zeit des Benutzers speichern.Flask, bekomme lokale Zeit

Ich dachte, dieses

time.strftime('%A %B, %d %Y %H:%M:%S') 

der Verwendung Aber das mir den Server lokale Zeit gibt.

Antwort

1

für eine Web-Anwendung ist nur für den Kolben Server-Seite verantwortlich.

Ihr Zweck kann erreicht werden, indem Sie Javascript verwenden, um Client-Seite Zeit zu erhalten und es an den Server zu übergeben.

Ordnerstruktur

. 
├── 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" 

templates/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> 

Beispielergebnis auf Konsole

# 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 - 
Verwandte Themen