我想创建从第一天开始并在该月的最后一天结束的发票。
答案 0 :(得分:6)
使用beginning_of_month
和end_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
答案 1 :(得分:6)
给出一年零一个月:
year = 2017
month = 5
您可以将这些日期值1
和-1
传递给Date.new
以分别获得第一天和最后一天:
require 'date'
Date.new(year, month, 1) #=> #<Date: 2017-05-01 ...>
Date.new(year, month, -1) #=> #<Date: 2017-05-31 ...>