在Ruby中获取本月的最后一天
我用args(年,月)做了新的对象Date.new。 在创buildruby之后默认为这个对象添加01个天数。 有什么办法可以不添加第一天,但是我通过了arg的月份的最后一天(例如,如果是02月28日,如果是01月31日)?
使用Date.civil
使用Date.civil(y, m, d)
或其别名.new(y, m, d)
,可以创build一个新的Date对象。 日(d)和月(m)的值可以是负的,在这种情况下,它们分别从年底和月底倒数。
=> Date.civil(2010, 02, -1) => Sun, 28 Feb 2010 >> Date.civil(2010, -1, -5) => Mon, 27 Dec 2010
为了获得本月的结束,你也可以使用ActiveSupport的助手end_of_month
。
# Require extensions explicitly if you are not in a Rails environment require 'active_support/core_ext' p Time.now.utc.end_of_month # => 2013-01-31 23:59:59 UTC p Date.today.end_of_month # => Thu, 31 Jan 2013
您可以在Rails API文档的end_of_month上find更多信息。
所以我在Google里search同样的东西
我对上述不满意,所以在阅读RUBY-DOC的文档后,我的解决scheme是:
例子得到10/31/2014
Date.new(2014,10,1).next_month.prev_day
- 将datestringparsing为java.util.Date时,出现非法模式字符“T”
- 在Java中打印时差最习惯的方法是什么?
- 将date格式更改为yyyy-mm-dd
- System.DateTime.Now和System.DateTime.Today之间的区别
- 正则expression式的格式为MMddyy的asp:RegularExpressionValidator(闰年问题)
- 将java.util.Date转换为什么“java.time”types?
- PHP正则expression式检查date是YYYY-MM-DD格式
- 查找特定date属于哪个季节
- 如何在JavaScript中获取本周的第一天和最后一天