如何在ruby中检查day是月份的最后一个日期
我想检查一天是否是一个月的最后一天,如果是,函数返回true,否则返回false 例如,如果我传入一个参数“Sun,2013年6月30日”,函数将返回true,因为这是一个月的最后一天,但是如果我传入一个参数“Mon,2013年6月3日”,函数将返回false 如何使用Ruby实现这一点如何在ruby中检查day是月份的最后一个日期,ruby,Ruby,我想检查一天是否是一个月的最后一天,如果是,函数返回true,否则返回false 例如,如果我传入一个参数“Sun,2013年6月30日”,函数将返回true,因为这是一个月的最后一天,但是如果我传入一个参数“Mon,2013年6月3日”,函数将返回false 如何使用Ruby实现这一点 使用解析日期DateTime.parse内置了对许多日期格式的支持(包括您的示例中的格式),但您始终可以将其用于更复杂的格式 使用查看第二天是否为1(下个月的第一天) 我会这样做 def is_last_da
DateTime.parse
内置了对许多日期格式的支持(包括您的示例中的格式),但您始终可以将其用于更复杂的格式我会这样做
def is_last_day(mydate)
mydate.month != mydate.next_day.month
end
如果您使用的是Rails,您也可以这样做:
date == date.end_of_month
或者在本月底查看:
这将接受日期对象而不是字符串。。。它可以像chris'+1一样转换。我喜欢使用
next_day
而不是date+1
。下一天是Rails,而不是Ruby。我担心你是不对的。你的代码只检查是否是本月底,应该是Date.parse(str)==Date.parse(str)。月末
@TheCha͢mp,如果你愿意,继续编辑。如果两者都保留的话会更好,所以读者可以选择适合他们用例的。
date == date.end_of_month
date == Date.today.end_of_month