2016-08-24 3 views

答えて

1

はこれを試してみてください:

(daterange.split("-")[1].to_date - daterange.split("-")[0].to_date).to_i + 1 

# daterange = "August 24 - Sept 11, 2016" 
# => 19 

# daterange = "December 24 2016 - Jan 11, 2017" 
# => 19 
+0

私は予想通りのケース日付範囲内の同じ表現のための例外はあなたが例外をキャッチするために 'begin'' rescue'ブロックでそれをバインドすることができ –

+0

フォーマットすることはできませんでしたキャッチすることができます。 – webster

+0

上記の式が機能しない日付範囲の別の書式もあります。「2016年8月24-27日」 –

0

これは動作するはずです:あなたの挙げた例では

def day_difference(daterange) 
    daterange.split('-').map(&:to_date).inject { |r,e| (e-r).to_i + 1 } 
end 

を:

day_difference("August 24 - Sept 11, 2016")  
# => 19 

day_difference("December 24 2016 - Jan 11, 2017") 
# => 19 
関連する問題