如何更改我的 django 服务器时间

Posted

技术标签:

【中文标题】如何更改我的 django 服务器时间【英文标题】:How to change my django server time 【发布时间】:2014-04-29 23:19:55 【问题描述】:

我想将当前日期保存在数据库中,但我的 Django 服务器比当前时间早 13 小时开始。因此,当我使用以下内容时,时间也会发生变化:

datetime.datetime.now()

我正在使用 Python 2.7.5 和 Django 1.5.4。 如何使用django.. 显示我当前的系统日期?

【问题讨论】:

【参考方案1】:
LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'Asia/Kolkata'

USE_I18N = True

USE_L10N = True

USE_TZ = False

这对我设置印度时区很有用

【讨论】:

【参考方案2】:

有几个选项:

settings.py:

正如一位用户评论的那样,您在技术上可以设置TIME_ZONE = None,这将默认为您的物理计算机时间,这在尝试部署服务器或将您的项目上传到时将是一个真正的问题一台远程机器为您服务。例如,如果您使用TIME_ZONE = None 将项目部署在亚马逊服务器上,您最终可能会获得托管服务器的物理机的系统时间。

相反,您必须选择一个有效的tz 数据库时间。如果您查看下一页上的TZ 列:tz database timezones,您可以使用这些值中的任何一个。

注意:如果您的用户从您所在国家/地区以外的时区(国家或世界的不同地区)或您手动设置的时区之外的时区进行连接,手动设置单个 tz 数据库时区可能会受到限制。

在这种情况下,您必须 (1) 让注册用户提供他们的时区并更改您的代码,或者 (2) 导入 django.utils 时区,请参阅此页面:django timezone module documentation。另一种选择是 (3) 构建一个地理定位器,它会在用户加载页面时自动获取用户的纬度和经度位置,并根据该信息生成时区。请注意,部署应用程序后为用户调整时区比为本地构建和测试设置时区更为复杂。

*//已编辑答案以反映更全面的答案。

【讨论】:

【参考方案3】:

如果您的服务器日期和时间有误,请先尝试修复它。如果它们是正确的,您可以在settings.py 中添加一个时区值:

USE_TZ = True
TIME_ZONE = 'UTC'

查看http://en.wikipedia.org/wiki/List_of_tz_database_time_zones 获取有效时区列表。

【讨论】:

感谢您的回复,它已更改,但仍然不是我的确切时间。现在是 5.30 小时前。我需要更改格林威治标准时间 5:30,我来自印度 我以UTC 为例,因为我不知道您的实际时区。你可以试试TIME_ZONE = 'Asia/Kolkata' +05:30。 谢谢,非常感谢老板它的工作。我们可以在不更改设置的情况下默认执行此操作吗(因为如果我们的项目部署在另一个国家,它应该得到它的当地时间) 在 Windows 中,它是不可靠的,但如果您使用的是 Unix,您可以尝试 TIME_ZONE = None 使用操作系统时区。 你是超级老板。它在我的 Linux 上工作。谢谢你的回复

以上是关于如何更改我的 django 服务器时间的主要内容,如果未能解决你的问题,请参考以下文章

Django Heroku 如何返回开发服务器进行更多更改

什么是 Django South GhostMigrations 异常以及如何调试它?

Django Server 不影响视图更改

更改代码时出现 Django、Nginx、FastCGI 缓存问题

将 Django 模型部署到网络服务器后,如何对其进行更改?

如何自动重新加载我的 gunicorn 服务器?