【问题标题】:current time on Server (AWS) different from real time服务器 (AWS) 上的当前时间与实时不同
【发布时间】:2019-02-19 07:08:52
【问题描述】:

提前感谢您的帮助。

我有一个 django/python 项目并使用弹性 beanstalk 部署到 AWS。但是部署版本的当前时间存在问题。我通过 django 模型获取当前时间并将其呈现在前端。它总是落后一天,但它在本地主机上运行良好。

我已将 /etc/localtime 下服务器上的本地时间更改为所需的时区,但这并不能解决问题。

任何建议将不胜感激! 非常感谢

【问题讨论】:

    标签: django date server localhost amazon-elastic-beanstalk


    【解决方案1】:

    保持服务器时间原样,我假设它是 UTC。

    并在项目的设置文件中更改您的时区:

    TIME_ZONE = 'America/Chicago' # use your desired local timezone
    USE_TZ = True
    

    【讨论】:

    • 谢谢xyres,我的设置中确实有这两个,唯一与你不同的是我使用'US/Central'而不是'America/Chicago'。我想这些应该是一样的?
    • 我还尝试了不同的方法来初始化日期,例如现在与今天。但实际上它们并没有什么不同。
    • @user9785672 Django 使用 UTC 将对象保存在数据库中。并使用TIME_ZONE 设置将UTC 转换为给定时区以显示在模板中。我猜,您服务器的硬件时钟或操作系统时区不是 UTC 或不同步。如果您运行的是 Linux,请运行 date 命令查看操作系统时间并运行 sudo hwclock --debug 命令查看硬件时钟时间。
    • xyres,我找到了答案,谢谢你的帮助!很抱歉我没有提供代码细节。我一直认为这是一个时区配置问题
    【解决方案2】:

    我想出了解决办法。问题是我在模型表单中使用了“now ()”来初始化值。我想这只会花费服务器重新启动时间并将其用于每个实例。它通过从表单字段初始化部分中删除括号来工作,这样将为每个实例调用 now 函数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-12
      • 2015-09-01
      • 1970-01-01
      • 2022-01-03
      • 2017-12-15
      • 2020-09-03
      • 1970-01-01
      相关资源
      最近更新 更多