首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Flask,获取本地时间

Flask,获取本地时间
EN

Stack Overflow用户
提问于 2016-11-01 18:55:29
回答 2查看 13.6K关注 0票数 2

我正在用Python构建一个Flask应用程序,我想节省用户的本地时间。

我想用这个

代码语言:javascript
运行
复制
time.strftime('%A %B, %d %Y %H:%M:%S')

但这给了我服务器的本地时间。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-01 20:02:26

对于web应用程序,flask只负责服务器端。

您可以通过使用javascript获取客户端时间并将其传递给服务器来实现您的目的。

文件夹结构

代码语言:javascript
运行
复制
.
├── app.py
└── templates
    └── index.html

app.py

代码语言:javascript
运行
复制
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

代码语言:javascript
运行
复制
<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>

console上的示例结果

代码语言:javascript
运行
复制
# 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 -
票数 7
EN

Stack Overflow用户

发布于 2019-05-18 20:06:34

使用客户端获取日期不是一个好方法,因为它不安全。我认为最好的方法是将本地服务器时间更新为您的时区,并使用Python datetime库获取当前时间。

用户可以更改您的js文件,并将错误的日期时间传递给您的服务器!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40358675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档