2014-04-11 13 views
0

我有一個應用程序:http://arethebaronsplaying.com/每天下午7點休息美國中部時間在生產,但在當地正常工作。該網站由Ninefold主辦。時間在軌道上棒球日程應用程序關閉了5個小時的生產

簡而言之,我有一個有一堆Game對象的seeds.rb文件,其中一個遊戲的屬性是date,它被設置爲m/d格式,例如。 4/09。

而且每天下午7點,應用程序會突然顯示一個很大的NO和文本,說明下一場比賽什麼時候,而下一場比賽是當天的比賽。然後在下面,它會顯示一個YES!與當天的比賽。

所以它顯示YES和NO,這讓我覺得Date.today的計算時間可能與Time.now不同,並且由於我使用了它們兩個,所以錯誤的將顯示NO。

總之,這裏是我的邏輯:

<% 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 %> 

我試着加入config.time_zone = 'Central Time (US & Canada)'application.rbproduction.rb,它打破了部署。

這裏的九倍怎麼做時間:https://help.ninefold.com/hc/en-us/articles/201320124-What-time-standard-does-Ninefold-use-

感謝您的幫助!

回答

1

日期和時間(跨越時區)是一個噩夢來管理(我知道這沒什麼幫助,但我一直在那裏,你有我的吊))。

反正...嘗試分別Time.zone.nowTime.zone.today更換所有Time.nowDate.today電話。

確保您所有的時間都存儲在數據庫中的UTC(不管你是什麼地方的時候,或者服務器的時間),並檢查了一些文章,讓其他建議(如http://www.elabs.se/blog/36-working-with-time-zones-in-ruby-on-railshttp://danilenko.org/2012/7/6/rails_timezones/

好運!

+0

感謝您的建議。我一定會嘗試。我沒有任何時間存儲在數據庫中,只是日期(4/11),我應該改變這些嗎? – reknirt

相關問題