Ruby on rails Rails棒球时间表应用程序在生产时关闭5小时

Ruby on rails Rails棒球时间表应用程序在生产时关闭5小时,ruby-on-rails,ruby,timezone,Ruby On Rails,Ruby,Timezone,我有一个应用程序:它每天在美国中部时间晚上7点停止生产,但在本地正常工作。该网站由Ninefold托管 简而言之,我有一个seeds.rb文件,其中包含一堆游戏对象,游戏的一个属性是date,它被设置为m/d格式,例如4/09 每天晚上7点,该应用程序都会显示一个大大的“否”,并显示一条短信,告诉用户下一场比赛是什么时候,下一场比赛就是今天的比赛。然后在下面,它将显示一个YES!今天的比赛 所以它显示了一个是和一个否,这让我觉得可能是日期。今天计算时间的方式不同于时间。现在,因为我同时使用了这两

我有一个应用程序:它每天在美国中部时间晚上7点停止生产,但在本地正常工作。该网站由Ninefold托管

简而言之,我有一个seeds.rb文件,其中包含一堆游戏对象,游戏的一个属性是date,它被设置为m/d格式,例如4/09

每天晚上7点,该应用程序都会显示一个大大的“否”,并显示一条短信,告诉用户下一场比赛是什么时候,下一场比赛就是今天的比赛。然后在下面,它将显示一个YES!今天的比赛

所以它显示了一个是和一个否,这让我觉得可能是日期。今天计算时间的方式不同于时间。现在,因为我同时使用了这两种方式,所以错误的会显示否

无论如何,我的逻辑是:

<% i = 0 %>
<% games.each do |game| %>
<% if game.date.strftime("%_m/%d")[1..-1] == Time.now.strftime("%_m/%d")[1..-1] && game.away == false %>
<h1 class="main-text answer yesanswer" id="responsive_headline"><%=link_to "YES!", "http://www.milb.com/tickets/singlegame.jsp?sid=t247", target: "_blank" %></h1>
<% i = 1 %>
<br>
<h2 class="main-text2 gamewrap" id="responsive_headline2">
    <% if game.away == false %>
        <span class="next-venue">vs.</span>
        <span class="next-opponent"><%= game.opponent %></span> |
        <span class="next-time"><%= game.time %></span>
    <% else %>
        <span class="next-venue">at</span>
        <span class="next-opponent"><%= game.opponent %></span> |
        <span class="next-time"><%= game.time %></span>
    <% end %>
</h2>
<% elsif game.date.strftime("%_m/%d")[1..-1] == Time.now.strftime("%_m/%d")[1..-1] && game.away == true %>
    <% unless i == 1 %>
    <a><h1 class="main-text answer" data-reveal-id="myModal" data-reveal id="responsive_headline">NO.</h1></a>
    <% i = 1 %>
    <h2 class="main-text2 gamewrap" id="responsive_headline2">
        <span class="next-venue">away game</span>
        <span class="next-opponent">@<%= game.opponent %></span>
    </h2>
    <% end %>
<% else %>
    <% unless i == 1 %>
    <a><h1 class="main-text answer" data-reveal-id="myModal" data-reveal id="responsive_headline">NO.</h1></a>
    <% i = 1 %>
    <h2 class="main-text2 gamewrap" id="responsive_headline2">
        <span class="next-venue">vs.</span>
        <span class="next-opponent">
            <% if next_home_game > 1 %>
            <%= game.opponent %>
            in <%= next_home_game %> days |
            <% else %>
            <%= game.opponent %>
            in <%= next_home_game %> day |
            <% end %>
        <span class="next-time"><%= game.time %></span>
    </h2>
    <% end %>
  <% end %>
<% end %>


vs。 | 在 |

谢谢你的帮助

日期和时间(跨越时区)是一个需要管理的噩梦(我知道这没有多大帮助……但我一直在那里,我向你表示哀悼)

无论如何。。。尝试将所有
时间.now
日期.today
调用分别替换为
时区.now
时区.today

确保您的所有时间都以UTC格式存储在数据库中(无论您的本地时间或服务器的时间是什么),并查看一些提供其他建议的文章(如和)


祝你好运

谢谢你的建议。我一定要试试。我没有任何时间存储在数据库中,只有日期(4/11),我应该更改它们吗?