Ruby on rails 日期:明天,两天后
我看到了一些非常奇怪的事情Ruby on rails 日期:明天,两天后,ruby-on-rails,datetime,Ruby On Rails,Datetime,我看到了一些非常奇怪的事情 <h3><%= (Date.today).strftime("%A, %B %d, %Y") %></h3> 结果是2013年10月9日星期三,这是正确的 然而,该结果将于2013年10月11日(星期五)公布 <h3><%= (Date.tomorrow).strftime("%A, %B %d, %Y") %></h3> 它完全跳过了周四(实际上是明天) 有什么想法吗?该方法不是
<h3><%= (Date.today).strftime("%A, %B %d, %Y") %></h3>
结果是2013年10月9日星期三,这是正确的
然而,该结果将于2013年10月11日(星期五)公布
<h3><%= (Date.tomorrow).strftime("%A, %B %d, %Y") %></h3>
它完全跳过了周四(实际上是明天)
有什么想法吗?该方法不是用Ruby编写的,而是用Rails编写的。也许你的Ruby和Rails是为不同的时区设置的。你从Date.current中得到了什么,它基本上是现在在rails中的?rails-
Date
提供了current
方法来补充Ruby-Date
的方法。因此,现在您可以使用:
Date.current # Rails equivalent of Ruby's - Date.today
Date.tomorrow
对于所有应该遵守Rails时区和Ruby-日期的日期。今天一直都是这样。我想知道测试时的确切时间(和时区)可能会有用。是的,但是在没有时区的情况下,明天应该是从今天开始的2天。我可以想到至少一种可能性,在测试中断时。对我来说,这分别给出了星期四和星期五,因此如果我想看到这种现象,我需要确切的时间戳。即使在rails控制台中,日期也是如此。今天是第9天,明天是第11天。不是DST所以不要认为是它。日期。当前我明天得到。我相信这就是原因。让这些同步的最好方法是什么?基本上,date.current应该是美国的中心时间。非常感谢。我不知道什么是最佳实践,但可能您还没有定义时区()。您可能想在这个主题上挖掘其他线程,目前,通过将一天添加到今天来计算明天,而不是调用两个不同的方法。对我来说,解决这个问题的方法是在application.rb时区中取消对config.time_zone='Central time(US&Canada')的注释。您可以在此文件中处理时区。这篇文章也有助于了解更多信息: