【问题标题】:Managing time from a flask backend server for different countries从不同国家/地区的烧瓶后端服务器管理时间
【发布时间】:2021-01-08 07:43:33
【问题描述】:

我一直在开发一个 web 应用程序,后端是用 flask 构建的,前端是用 Reactjs 构建的,在托管它之后,我意识到我在后端存储的时间被保存下来,反映了我托管的服务器的位置后端。所以我的问题是。

如何在flask后端级别保存日期和时间,然后在前端使用用户在浏览器上的位置进行转换以反映用户的本地时间?

不胜感激。

【问题讨论】:

  • 我尝试使用 UTC,但不知道它在 python 中是如何工作的

标签: date flask time frontend backend


【解决方案1】:

如果您想在服务器级别(即烧瓶)进行转换,那么您可以尝试这样的事情,客户端在向服务器发出请求时指定它所在的时区(例如 US/Pacific ) 并且服务器可以相应地响应详细信息。

import os
from datetime import datetime
import pytz
from flask import Flask, request, jsonify

app = Flask(__name__)

@app.route('/time')
def time():
    #Default sever level date and time
    current_server_time = datetime.now()
    if 'timezone' in request.args:
        tzinfo = pytz.timezone(request.args['timezone'])
        #Converting date and time based on timeone input from client
        current_client_time = current_server_time.astimezone(tzinfo)
        return jsonify({"time":current_client_time})
    return jsonify({"time":current_server_time})

if __name__ == '__main__':
    app.run(debug=True,host='0.0.0.0', port=8001)

您可以通过访问 http://localhost:8001/time?timezone=US/Pacific

进行尝试

您显然必须添加与从客户端收到的时区相关的验证。

我相信你也可以在 reactjs 级别进行转换,只要服务器响应指定时区。

【讨论】:

  • 好的@Saurav,如果我理解得很好,我需要先知道用户的时区。我正在考虑在服务器级别节省时间,也许以一种可以在客户端轻松转换的方式,无论时区如何。
猜你喜欢
  • 2013-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-18
  • 1970-01-01
  • 1970-01-01
  • 2016-11-21
  • 2011-02-20
相关资源
最近更新 更多