我想检查一天是否是该月的最后一天,如果是,则函数返回true,否则返回false。
例如,如果我传入“Sun,2013年6月30日”的参数,则该函数将返回true,因为它是该月的最后一天,但是如果我传入参数“Mon,03 Jun” 2013“的功能是返回虚假。
如何使用Ruby实现这一目标。
答案 0 :(得分:14)
如果您正在使用Rails,您也可以随时执行此操作:
date == date.end_of_month
或检查此月的结尾:
date == Date.today.end_of_month
答案 1 :(得分:10)
我会做这样的事情
def is_last_day(mydate)
mydate.month != mydate.next_day.month
end
答案 2 :(得分:1)
使用DateTime.parse
解析日期。 DateTime.parse
内置支持多种日期格式(包括您示例中的日期格式),但您可以始终使用DateTime.strptime
来处理更复杂的格式。
使用Date#+
查看第二天是否为1(下个月的第一天)。
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