博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
django 获取系统当前时间 和linux 系统当前时间不一致 问题处理。
阅读量:7207 次
发布时间:2019-06-29

本文共 1136 字,大约阅读时间需要 3 分钟。

问题场景:

  在django admin models 实体对象添加一个属性最后修改时间,用户在添加、修改是系统自动修改操作时间。

  UpdateTime自动获取系统时间、并且自动修改。

代码设置如下。

class User(models.Model):  Name = models.ForeignKey(HotTag,verbose_name='姓名')) Desc = models.CharField('简介', blank=True, max_length=50)  CreateTime = models.DateTimeField('添加时间', default=datetime.now()) UpdateTime = models.DateTimeField('修改时间',auto_now=True,default=datetime.now())

上面代码设置是没有问题的。

当放到linux 完全上去跑是,发现UpdateTime和CreateTime(数据库字段)时间和系统时间不一致。
当修改记录是UpdateTime也能自动修改时间就,当是时间还是和系统时间不一致。

问题分析:
django 时区和当前linux系统时间时区不一致。

原来django settings.py 中的配置如下:

# system time zone.TIME_ZONE = 'America/Chicago'

  

'America/Chicago' :是美国时间

处理方式:

如果把他修改为:

# system time zone.#TIME_ZONE = 'America/Chicago'TIME_ZONE = ‘Asia/Shanghai’

  

  
Asia/Shanghai (上海时间) 
     Asia/Beijing (北京时间) 
  两时区是一致的。

重启django 项目 在登陆后台网站修改用户数据发现这时时间是一致的。

 

 附加内容:

DateField:日期字段,admin 用一个文本框 <input type=”text”> 来表示该字段数据(附带一个 JavaScript 日历和一个”Today”快捷按键。有下列额外的可选参数:

auto_now:当对象被保存时,自动将该字段的值设置为当前时间.通常用于表示 “last-modified” 时间戳;
auto_now_add:当对象首次被创建时,自动将该字段的值设置为当前时间.通常用于表示对象创建时间。

 

  GMT 就是格林威治标准时间的英文缩写(Greenwich Mean Time 格林尼治标准时间),是世界标准时间.   gmt-8 是格林威治时间+8小时,是北京时间.

 

转载地址:http://okoum.baihongyu.com/

你可能感兴趣的文章
Codeforces Round #313 (Div. 1) C. Gerald and Giant Chess DP
查看>>
基于jQuery商城网站全屏图片切换代码
查看>>
Android开发之注解式框架ButterKnife在ADT中的设置
查看>>
JAVA学习篇--Java类加载
查看>>
如何清空android ListView控件的内容
查看>>
配置SELINUX
查看>>
EF里一对一、一对多、多对多关系的配置和级联删除
查看>>
linux svn启动和关闭(转)
查看>>
Hadoop序列化与Java序列化
查看>>
Java Machine Learning Tools & Libraries--转载
查看>>
BZOJ 1199: [HNOI2005]汤姆的游戏 计算几何暴力
查看>>
spring mvc 请求转发和重定向
查看>>
PID控制器(比例-积分-微分控制器)- II
查看>>
android.graphics包中的一些类的使用
查看>>
将Ojective-C代码移植转换为Swift代码
查看>>
C#控制台程序取得INSOYA视频区的视频的真实URL,视频标题,发布时间集合。
查看>>
从控制台读取password - C#
查看>>
高通公司 MSM8K GPT异常原因分析无法开机的问题
查看>>
Android 升级下载 它们的定义Updates 兼容版本
查看>>
webstorm 10.0.4 注册码
查看>>