获取与当前日历月的开始相对应的时间

时间:2010-07-14 01:13:40

标签: ruby datetime

如何获得与当前日历月开头相对应的Time对象?例如,如果我今天运行该函数,我将在午夜7/1/2010获得一个Time对象

奖金问题:如何针对当前的做同样的事情?如果我今天运行此功能,我将在午夜7/11/2010获得Time对象

3 个答案:

答案 0 :(得分:3)

 Date.civil(Date.today.year, Date.today.month, 1)

奖金,以获得星期天:

Date.commercial(Date.today.year, Date.today.cweek - 1, 7)

获得星期一

Date.commercial(Date.today.year, Date.today.cweek, 1)

资源:http://ruby-doc.org/core/classes/Date.html

编辑:我在星期天改变了主意,你会在一年之后遇到问题。所以我会这样做,而不是星期天

Date.commercial(Date.today.year, Date.today.cweek, 1) - 1

答案 1 :(得分:1)

Rails的ActiveSupport为所有这些事情提供了帮助(beginning_of_monthbeginning_of_week等。)

答案 2 :(得分:0)

试试这个:

Time.utc(Time.new.year,Time.new.month)

另见Time.gm,Time.local(无论你需要什么)