DB のタイムスタンプが次のように指定された場合: 2012-06-06T00:27:33Z
ユーザーのブラウザでこれをレンダリングする最良の方法は次のとおりです。
5/02/12 3:48 PM
クライアントを使用してクライアントのローカルタイムでレンダリングするには、JS ライブラリを使用するのが最善ですか? ここでのベストプラクティスは何ですか? ありがとう
DB のタイムスタンプが次のように指定された場合: 2012-06-06T00:27:33Z
ユーザーのブラウザでこれをレンダリングする最良の方法は次のとおりです。
5/02/12 3:48 PM
クライアントを使用してクライアントのローカルタイムでレンダリングするには、JS ライブラリを使用するのが最善ですか? ここでのベストプラクティスは何ですか? ありがとう
私はMoment JS
一般的な日付の解析とフォーマットにライブラリを使用しました。そのかなり甘い。
あなたの例は基本的に次のようになります:
var date = moment('2012-06-06T00:27:33Z');
console.log('Formatted is %s', date.format('M/DD/YY h:m A'));
>> Formatted is 6/05/12 5:27 PM
デフォルトでは、Momentは現地時間で解析し、タイムゾーン変換を自動的に実行します。
試す:
<%= article.created_at.local_time %>
ロケールを使用する必要があります。
ロケール/de.yml
de:
date:
formats:
default: "%d.%m.%Y"
short: "%e. %b"
long: "%A, %d.%B %Y um %H:%M"
only_day: "%e"
day_names: [Sonntag, Montag, Dienstag, Mittwoch, Donnerstag, Freitag, Samstag]
abbr_day_names: [So, Mo, Di, Mi, Do, Fr, Sa]
month_names: [~, Januar, Februar, März, April, Mai, Juni, Juli, August, September, Oktober, November, Dezember]
abbr_month_names: [~, Jan, Feb, Mär, Apr, Mai, Jun, Jul, Aug, Sep, Okt, Nov, Dez]
order: [ :day, :month, :year ]
time:
formats:
default: "%A, %d.%B %Y um %H:%M"
short: "%d.%m.%Y"
long: "%d.%m.%Y, %H:%M:%S"
ビューで:
<%= I18n.l current_article.created_at, :format => :long %>
タイムゾーン変換の場合:
config/environments/development.rb
config.time_zone = 'Berlin'
Rails を使用している場合は、environment.rb に次のようなものを追加します。
Date::DATE_FORMATS[:browser] = "%d/%b/%Y %H:%m"
これを参考にして、好みに合わせてフォーマットしてください。http://www.onrails.org/2008/08/20/what-are-all-the-rails-date-formats
あなたが置くビューで
<%= Model.date_field.to_s(:browser) %>
タイムゾーンを調整する必要がある場合は、まずユーザーのタイムゾーンを照会する必要があります。これを行うにはいくつかの方法があります。
次に、ビューでたとえば使用できます
<%= Model.date_field.change(:offset => "+0300").to_s(:browser) %>
また
<%= Model.date_field.in_time_zone(-3).to_s(:browser) %>
また
<%= Model.date_field.utc.to_s(:browser) %>
また
<%= (Model.date_field.utc + Time.zone_offset('EST')).to_s(:browser) %>
オプションがあります!
これが役に立てば幸いです!