ルビーで私はフォーマットを日付として取得しようとしています。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
'active_support'が必要です – avguchenko
このbegin_of_monthトリックに感謝 – franchez
require 'active_support/core_ext'
Date.today.beginning_of_month
これは、月ではなく、年の最初の日を返します。 –
あなたがactivesupportのなしの日付オブジェクトが必要な場合は、1
Date.today - Date.today.mday + 1
'Date.today - Date.today.mday + 1'に変更する必要があると思います – ishan
最も効率的に開始し、現在の月の終了日を取得するために、最後の最後の月の日和に戻ることができ
@date = DateTime.now
@date.beginning_of_month
@date.end_of_month
これは単なる例です...任意の変数がその文字列を置き換えることができます.. – Starkers
ありがとう...未来から書くとこれは私のために働いた)= –