2016-09-09 19 views
2

特定の日付と時刻(特定のタイムゾーン内)が範囲内にあるかどうかを判断する方法を作成しようとしています。私は特定の日付と時刻がこの範囲内であれば、trueまたはfalseを返すようにしたいRuby:日付と時刻が範囲内にあるかどうかを確認する方法

range => between("2013-12-25 04:45:00 -0800", "2015-12-25 5:00:01 -0800") 

:ここ

range = between(start_time, end_time) 

start_time = "date time timezone" 
end_time = "date time timezone" 

はレンジの入力がどのように見えるかの例です。

例特定の日付:

instance = "2014-01-01 16:35:45 -0800" 

instance.between("2013-12-25 04:45:00 -0800", "2015-12-25 5:00:01 -0800") 

私はRubyで、時間と多くの経験を持っていません。どんな提案も大歓迎です。

答えて

7
require "date" 
instance = DateTime.parse("2014-01-01 16:35:45 -0800") 
d1  = DateTime.parse("2013-12-25 04:45:00 -0800") 
d2  = DateTime.parse("2015-12-25 5:00:01 -0800") 
p instance.between?(d1, d2) # => true 
+0

ちょうど私が必要なもの。ありがとうございました。私はパースを使う方法を知らなかった。 – morrime

+0

安全な側にするには、[DateTime :: strptime](http://ruby-doc.org/stdlib-2.3.0/libdoc/date/rdoc/DateTime.html#method-c-strptime)を使用します。 ''インスタンス= DateTime.strptime( "2014-01-01 16:35:45 -0800"、 '%Y-%m-%d%H:%M:%S%:z') 'など –

関連する問題