1. ホーム
  2. ruby-on-rails

[解決済み] RubyとRailsの "Date.today "フォーマット

2022-02-12 14:29:09

質問

IRBで、以下のコマンドを実行した場合。

require 'date'
Date.today

次のような出力が得られます。

=> #<Date: 2015-09-26 ((2457292j,0s,0n),+0s,2299161j)> 

しかし、Railsのコンソールで Date.today ということです。

=> Sat, 26 Sep 2015 

Railsのものを見てみました。 日付クラス が、Railsの Date.today は、Ruby の出力とは異なる形で表示されます。

誰か、Railsで Date.today または Date.tomorrow は、日付をきれいに表示するためのフォーマットなのでしょうか?

解決方法は?

ご質問に対する回答は ActiveSupport のコアエクステンションである Date クラスです。のデフォルトの実装をオーバーライドします。 inspectto_s :

# Overrides the default inspect method with a human readable one, e.g., "Mon, 21 Feb 2005"
def readable_inspect
  strftime('%a, %d %b %Y')
end
alias_method :default_inspect, :inspect
alias_method :inspect, :readable_inspect

コマンドラインの例です。

ruby-2.2.0 › irb
>> require 'date'
=> true
>> Date.today
=> #<Date: 2015-09-27 ((2457293j,0s,0n),+0s,2299161j)>
>> require 'active_support/core_ext/date'
=> true
>> Date.today
=> Sun, 27 Sep 2015