隨着紅寶石我想格式日期爲:2009-10-01獲得當月第一天的最有效方法是什麼?
我在哪裏取當前日期(2009-10-26),然後將當天更改爲「01」。
我知道如何做到這一點,但很奇怪最簡單的方法是什麼,代碼明智的方法來解決這個問題。
隨着紅寶石我想格式日期爲:2009-10-01獲得當月第一天的最有效方法是什麼?
我在哪裏取當前日期(2009-10-26),然後將當天更改爲「01」。
我知道如何做到這一點,但很奇怪最簡單的方法是什麼,代碼明智的方法來解決這個問題。
Time.parse("2009-10-26").strftime("%Y-%m-01")
這工作...
並不十分巧妙:/
require 'date'
Date.parse(Date.parse("2009-10-26").to_s[0,8] << "01")
如果你不介意的話,包括在的ActiveSupport您的應用程序,你可以簡單地這樣做:
require 'active_support'
date = Date.today.beginning_of_month
我得到'require':無法加載這樣的文件 - activesupport(LoadError)'。 – JoaoHornburg 2013-08-04 15:32:08
需要'active_support' – avguchenko 2013-10-18 00:28:35
感謝這個開頭的月份技巧 – franchez 2014-04-24 08:21:37
require 'active_support/core_ext'
Date.today.beginning_of_month
這將返回一年中的第一天,而不是本月。 – 2013-08-14 15:57:03
如果您需要在不的ActiveSupport Date對象,你可以回到最後一個月的最後一天,和1
Date.today - Date.today.mday + 1
我想你應該改爲 'Date.today - Date.today.mday + 1' – ishan 2015-12-17 06:59:59
最有效的獲得開始,當月的最後一天
@date = DateTime.now
@date.beginning_of_month
@date.end_of_month
這只是一個例子...任何變量都可以替換該字符串.. – Starkers 2014-02-13 06:18:03
謝謝...從未來寫作,這對我很有幫助=) – 2015-08-06 16:25:14