【转】rails中的时区问题
http://eric-gao.iteye.com/blog/1058197
解释4个时区设置的不同:
config.active_record.default_timezone
config.time_zone
Time.zone
ENV['TZ']
1、ENV['TZ']
这个变量指的是服务器系统变量,ubuntu下可以用cat /etc/timezone来查看。当这个值为Asia/Shanghai时,显示的就是中国时间。
对于ruby/rails来说,这个值决定Time.now的显示时间。
2、config.time_zone
这个值是rails系统对显示时间的默认设置,可以通过rake time:zones:all列出所有可以设置的时区,一般来说把这个设置为Beijing。
3、Time.zone
这个是设置最终处理显示的时区,写在代码中单独作为一行,可以覆盖config.time_zone,参数和config.time_zone一样。
4、config.active_record.default_timezone
这个default_timezone是决定active_record对数据库交互的时区设置,也就是影响created_at和updated_at在数据库的记录时间。
只有两个参数:utc和:local,rails初始化时默认是utc,所以保存到数据库的时间是utc时间。
5、ActiveRecord::Base.default_timezone = :utc
这个也是决定active_record对数据库交互的时区设置,写在代码中单独作为一行,可以覆盖config.active_record.default_timezone。
参数和config.active_record.default_timezone一样,:utc和:local。
要在界面和数据库都很好的显示处理中国时区时间,编辑/config/application.rb(rails2是environment.rb),加入
config.active_record.default_timezone = :local
config.time_zone = 'Beijing'
完美解决rails中国时区时间设置。
【转】rails中的时区问题的更多相关文章
- Rails中的MIME类型
layout title date comments categories post rails的中的MIME类型 2014-09-08 21:40 true ruby Rails开发中经常使用不同的 ...
- rails 中 create, new, build, save 的用法以及误区汇总
自己很初级,初级的不能再初级,所以初次接触rails的时候,对于里面的create,new,build等方法不是很了解,用的很混乱,导致经常出现不必要的bug,很苦恼,决定,总结一下,结合网上已有资源 ...
- C# 中获取时区列表
c#中获取时区列表 下面方法获得的仅仅用来显示和使用,无法用来进行时间转换. public static List<DisplayTimeZone> GetSystemTimeZones( ...
- rails中weill_paginate的paginate方法中不能使用额外参数的解决办法
我们知道高版本中的rails中的分页功能已经放在will_paginate这个gem中,我们在控制器方法中往往需要调用其paginate方法来实现分页数据集控制,举个例子:正常的情况我们想要每页显示1 ...
- rails中accepts_nested_attributes_for应用
Model: class Blog < ActiveRecord::Base has_many :strip_rules accepts_nested_attributes_for :strip ...
- rails中params[:id]与params["id"]分析
写这个帖子的缘由是因为在页面参数传到rails的controller时用params[:]和params[""]都可以取到值: [1] pry(#<BooksControll ...
- Rails中的增删改查
1. rails中类与对象与SQL中表与行的关系 rails中提供了对象关系映射(ORM),将模型类映射至表,模型类的关联表名是类名小写后的复数形式,如类名Order,对应的表名为o ...
- rails中path、url路径解析,routes信息,form_for剖析,link_to示例,路由实例说明
原创,转载请注明http://www.cnblogs.com/juandx/p/3963023.html rails中path.url路径解析,routes信息,form_for剖析,link_to ...
- rails 中 create, new, build, save 的用法以及误区汇总 (转)
自己很初级,初级的不能再初级,所以初次接触rails的时候,对于里面的create,new,build等方法不是很了解,用的很混乱,导致经常出现不必要的bug,很苦恼,决定,总结一下,结合网上已有资源 ...
随机推荐
- 完全重装python和yum
本文原链接 http://smilepad.blog.51cto.com/6094369/1333478 http://blog.etc168.com/?p=642 1.删除现有Python #roo ...
- 【codevs2333】&【BZOJ2002】弹飞绵羊[HNOI2010](分块)
我其实是在codevs上看到它的题号后才去做这道题的...2333... 题目传送门:codevs:http://codevs.cn/problem/2333/ bzoj:http://www.lyd ...
- HBase协处理器的使用(添加Solr二级索引)
给HBase添加一二级索引,HBase协处理器结合solr 代码如下 package com.hbase.coprocessor; import java.io.IOException; import ...
- Spark 属性配置
1.Spark1.x 属性配置方式 Spark属性提供了大部分应用程序的控制项,并且可以单独为每个应用程序进行配置. 在Spark1.0.0提供了3种方式的属性配置: SparkConf方式 Spar ...
- linux命令:head 命令
head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾. 1.命令格式: hea ...
- Vue v-if条件渲染
1.简单的v-if指令,代码如下 <!DOCTYPE html> <html> <head lang="en"> <meta charse ...
- SQL Server中的执行引擎入门
简介 当查询优化器(Query Optimizer)将T-SQL语句解析后并从执行计划中选择最低消耗的执行计划后,具体的执行就会交由执行引擎(Execution Engine)来进行执行.本文旨在 ...
- 【LABVIEW到C#】1》ini的操作
using System; using System.IO; using System.Drawing; using System.Collections; using System.Componen ...
- Android开发中java.lang.RuntimeException: Unable to start activity ComponentInfo{xxx}
Android开发中java.lang.RuntimeException: Unable to start activity ComponentInfo{xxx}: java.lang.NullPoi ...
- this license has been cancelled
是因为IDEA注册码的问题, 解决方案: 修改此路径的hosts文件:C:\Windows\System32\drivers\etc\hosts 在其最后一行加入:“0.0.0.0 account.j ...