0

データベースに、日付を次の形式で表示する行があります2012-04-26。その値を取得して変数に格納するとします@date。その形式を2012年4月26日、あるいは4月26日に変更するにはどうすればよいですか。

4

4 に答える 4

2

あなたの問題をカバーする素晴らしいスニペット:http ://snippets.dzone.com/posts/show/2255

使用例:

<%= @date.strftime("%d-%m-%Y") %>

于 2012-04-30T09:52:24.750 に答える
0

ORMシステムがデータベースとの間で日付オブジェクトをシリアル化および逆シリアル化する方法と、それらがデータベースに格納される形式について心配する必要はありません。

Dateオブジェクトを必要な形式の文字列に変換する方法を知っているだけで済みます。strftimeここで、やその他のメソッドが役立ちます。

于 2012-04-30T10:02:10.020 に答える
0

ビューをよりクリーンに保つことができるように、ヘルパーメソッドを定義する必要があります。このようにしてください:

ヘルパーファイル内、例:helpers / application_helper.rb

def formatted_date(date)
  date.strftime("%d-%m-%Y")
end

次に、あなたの見解では、あなたは単に次のようなことをします:

<%= formatted_date(@date) %>
于 2012-04-30T13:42:43.830 に答える
0

Railsを使用している場合は、ビューに日付または時刻を表示することをお勧めします。そのためには、localize(またはl)ヘルパーメソッドを使用するだけです。例えば:

<%= l(@model.created_at) %>

ロケールファイルでデフォルトの形式とその他の必要な形式を定義するだけです(例:)en.yml

time: 
  formats: 
    default: "%d %b %Y, %H:%M"
    date_only: "%d %b %Y"

date: 
  formats: 
    default: "%d %b %Y"

形式の構文は、に使用される形式と同じですstrftime

カスタム形式の使用:

<%= l(@model.created_at, :format => :date_only) %>
于 2012-04-30T14:04:54.370 に答える