ある日が月の最終日かどうかを確認したいのですが、そうであれば関数が true を返し、それ以外の場合は false を返します。
たとえば、「Sun, 30 Jun 2013」という引数を渡すと、関数はその月の最後の日なので true を返しますが、「Mon, 03 Jun 2013」という引数を渡すと、関数は false を返すことです。
Rubyを使用してこれをどのように達成できますか。
ある日が月の最終日かどうかを確認したいのですが、そうであれば関数が true を返し、それ以外の場合は false を返します。
たとえば、「Sun, 30 Jun 2013」という引数を渡すと、関数はその月の最後の日なので true を返しますが、「Mon, 03 Jun 2013」という引数を渡すと、関数は false を返すことです。
Rubyを使用してこれをどのように達成できますか。
私はこのようなことをします
def is_last_day(mydate)
mydate.month != mydate.next_day.month
end
で日付を解析しますDateTime.parse
。DateTime.parse
多くの日付形式(例のものを含む)のサポートが組み込まれていますがDateTime.strptime
、より複雑な形式にはいつでも使用できます。
を使用して、次の日が 1 (翌月の最初の日) であるかどうかを確認しDate#+
ます。
require 'date'
def last_day?(date_string)
date = DateTime.parse(date_string)
(date + 1).day == 1
end
puts last_day?('Sun, 30 Jun 2013') # true
puts last_day?('Mon, 03 Jun 2013') # false