获得当月第一天的最有效方法是什么?
对于ruby,我正在尝试将格式设为日期:2009-10-01
我在当前日期(2009-10-26),然后将日期更改为“01”。
我知道如何做到这一点,但很奇怪最简单的方法,代码明智,拉开这个。
Time.parse("2009-10-26").strftime("%Y-%m-01")
如果您不介意在应用程序中包含ActiveSupport,则可以执行以下操作:
require 'active_support' date = Date.today.beginning_of_month
require 'date' now = Date.today Date.new(now.year, now.month, 1)
如果您需要没有ActiveSupport的日期对象,则可以返回上个月的最后一天并将其加1。
Date.today - Date.today.mday + 1
这有效……
不是非常聪明:/
require 'date' Date.parse(Date.parse("2009-10-26").to_s[0,8] << "01")
require 'active_support/core_ext' Date.today.beginning_of_month
获得当月的开始和结束日期效率最高
@date = DateTime.now @date.beginning_of_month @date.end_of_month