0

DB のタイムスタンプが次のように指定された場合: 2012-06-06T00:27:33Z

ユーザーのブラウザでこれをレンダリングする最良の方法は次のとおりです。

5/02/12 3:48 PM

クライアントを使用してクライアントのローカルタイムでレンダリングするには、JS ライブラリを使用するのが最善ですか? ここでのベストプラクティスは何ですか? ありがとう

4

3 に答える 3

0

私はMoment JS一般的な日付の解析とフォーマットにライブラリを使用しました。そのかなり甘い。

http://momentjs.com/

あなたの例は基本的に次のようになります:

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は現地時間で解析し、タイムゾーン変換を自動的に実行します。

于 2012-06-06T02:45:31.367 に答える
0

試す:

<%= 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'
于 2012-06-21T07:07:53.343 に答える
0

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) %>

オプションがあります!

これが役に立てば幸いです!

于 2012-06-06T06:03:09.840 に答える