使用Ruby(DateTime)检索月份的第一天和最后一天

Mar*_*ara 3 ruby datetime

如何使用Ruby(DateTime)检索月份的第一天和最后一天?

我想创建从第一天开始并在该月的最后一天结束的发票.

use*_*001 6

使用beginning_of_monthend_of_month方法

irb(main):004:0> n = DateTime.now
=> Wed, 10 May 2017 14:48:01 +0300
irb(main):005:0> n.to_date.beginning_of_month
=> Mon, 01 May 2017
irb(main):006:0> n.to_date.end_of_month
=> Wed, 31 May 2017
Run Code Online (Sandbox Code Playgroud)


Ste*_*fan 6

给定一年零一个月:

year = 2017
month = 5
Run Code Online (Sandbox Code Playgroud)

您可以将这些传递给Date.new日期值1-1,分别获取第一天和最后一天:

require 'date'
Date.new(year, month, 1)  #=> #<Date: 2017-05-01 ...>
Date.new(year, month, -1) #=> #<Date: 2017-05-31 ...>
Run Code Online (Sandbox Code Playgroud)