获得当月第一天的最有效方法是什么?

时间:2009-10-26 22:23:13

标签: ruby datetime

使用ruby我正在尝试将格式设为日期:2009-10-01

我在当前日期(2009-10-26),然后将日期更改为“01”。

我知道如何做到这一点,但很奇怪最简单的方法是什么,代码明智,将其拉下来。

8 个答案:

答案 0 :(得分:61)

如果您不介意在应用程序中包含ActiveSupport,则可以执行以下操作:

require 'active_support'
date = Date.today.beginning_of_month

答案 1 :(得分:26)

Time.parse("2009-10-26").strftime("%Y-%m-01")

答案 2 :(得分:13)

require 'date'    
now = Date.today
Date.new(now.year, now.month, 1)

答案 3 :(得分:2)

如果您需要没有ActiveSupport的日期对象,您可以返回上个月的最后一天并加1。

Date.today - Date.today.mday + 1

答案 4 :(得分:0)

这有效......

不是非常聪明:/

require 'date'
Date.parse(Date.parse("2009-10-26").to_s[0,8] << "01")

答案 5 :(得分:0)

require 'active_support/core_ext'
Date.today.beginning_of_month

答案 6 :(得分:0)

获得当月的开始和结束日期效率最高

txt

答案 7 :(得分:0)

Date.today.beginning_of_day
Date.today.end_of_day

还有

Date.today.beginning_of_week
Date.today.end_of_week

也有

Date.today.beginning_of_year
Date.today.end_of_year