`

rails time zone

 
阅读更多
1.什么是Time Zone,就是时区,对,论坛里经常有设置的,UTC或者是GMT

    UTC = Coordinated Universal Time. 中文名称为协调世界时
    GMT = Greenwich Mean Time. 中文名称为格林尼治时
    新建一个rails项目,默认是utc时间。

    可以运行time:zones:all, time:zones:us,还有time:zones:local来获取一些相关的时区信息


2. 在当前时区用来修改设置的一些方法

   (1) Time.zone.local(), Time.zone.parse() and Time.zone.at() Time.zone.now


代码:
•>> Time.zone = 'Hawaii'
•=> "Hawaii" 
•>> Time.zone.now 
•=> Wed, 09 Apr 2008 15:48:18 HST -10:00 
•>> Time.zone.local(2008, 4, 9, 15, 48, 18)
•=> Wed, 09 Apr 2008 15:48:18 HST -10:00 
•>> Time.zone.parse('2008-04-09 15:48:18')
•=> Wed, 09 Apr 2008 15:48:18 HST -10:00 
•>> Time.zone.at(1207792098) 
•=> Wed, 09 Apr 2008 15:48:18 HST -10:00 

     (2) in_time_zone函数可以把任何实例转化成存在Time.zone中的任何时区

     (3)


在往数据库插入数据时,突然发现所有时间都早了8个小时,最初还以为是mysql的问题。于是编辑mysql配置文件,修改时区为+8,重启mysql问题依旧。最后通过控制台,打印变量值,发现在将正确的时间赋值给变量后,时间居然自动被减少了8个小时。



由于我的程序,暂时还不涉及多时区服务,于是,打开environment.rb,注释掉配置:config.time_zone = 'UTC',让rails使用默认本地时间。重启服务,运行程序,问题解决。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics