2012-08-13 80 views
0

我得到了这个错误,让我发疯。Rails 2.3.11显示服务器上的日期时间错误

我希望的输出是显示从星期日开始的一周,之后根据它计算10周前。

实施例:

[太阳,12 2012八月,太阳,2012年8月5日,周日,2012年7月29日,周日,7月22日 2012,太阳,2012年7月15日,周日,2012年7月8日,孙,2012年7月1日,太阳,24 2012年6月,孙,2012年6月17日,星期日,2012 6月10日,星期日,2012年6月3日]

但是,无论在我的机器上是正确的,并返回上述数组,在服务器上是错误的:(

服务器的输出是:

[星期六,2012年8月11日,星期六,2012年8月4日,星期六,2012年7月28日,星期六,21七月 2012,星期六,2012年7月14日,星期六,2012年7月7日,星期六,2012 06月30日星期六,23 2012年6月,周六,2012 6月16日,星期六,2012年6月9日,星期六,2012年6月2日]

如果我访问应用程序和脚本中调用控制器/控制台显示错误的,但如果我重新计算在脚本/控制台显示正确。

我的环境:

OS X 10.7.4,红宝石1.8.7(2012-04-14 PATCHLEVEL 361) [i686的-darwin11.3.0],RVM 1.10.2,波段13阿戈2012 9时27分46秒BRT(系统 日期)

和服务器环境:

Ubuntu的12.04,红宝石1.8.7(2012-02-08 MBARI 8/0x8770上PATCHLEVEL 358) [ I6 86-linux的],MBARI 0x8770,Ruby企业版2012.02,RVM 1.14.0(稳定),周一8月13日13时29分十三秒WEST 2012

回答

1

也许您的服务器上的时区不匹配,可以尝试设置你的时区明确的config/appliction.rb:

config.time_zone = "Pacific Time (US & Canada)" 

一种流行的解决这个问题设置您的控制器上的before_filter用于配置每个用户正确的时区。请参阅:http://railscasts.com/episodes/106-time-zones-in-rails-2-1作为起点。

+0

jdeseno,感谢您的答复,但我发现这个问题,可以从我的服务器相关Time.now.zone返回WEST(和我的机器返回BRT)和我回日期阵列的方法计算出头与TO_DATE之间的转换to_datetime。在我改变为唯一的转换后,问题消失了。但是,我会投票这个答案,因为也是相关的。 – 2012-08-13 22:21:37