0

如果当前时间在格林威治标准时间周一至周五上午 9 点至下午 5 点之间,我想在我的视图中有一个 div,它显示一段文本。但是,如果它在那个时间之外,那就是一个按钮。

我怎样才能做到这一点?

4

3 回答 3

1

您有时间和日期的助手,例如Time.now获取当前时间并Time.now.wday返回对应于工作日的整数。只需将其与您认为的规则进行比较,您就可以开始了。

于 2013-07-30T11:19:40.027 回答
0

在您的控制器中,您可以检查诸如@open = (1..4).include?(Time.now.wday) && (9..17).include?(Time.now.hour) You get true 或 false 之类的内容。现在,您可以使用@open显示按钮 (false) 或文本 (true)

于 2013-07-30T11:28:19.153 回答
0

像这样的东西应该工作

# Time.now.utc may work 
now = Time.now.in_time_zone('GMT') as well
if time.wday.in?(1..5) && time.hour.in?(9..16)
  # show text
else
  # show button

确保为您使用的模板引擎(ERB 或 HAML)适当地修改此代码。

于 2013-07-30T11:30:49.727 回答