0

给定数据库中的时间戳,如下所示: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

如果您使用的是 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 回答
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 %>

对于时区转换:

配置/环境/development.rb

config.time_zone = 'Berlin'
于 2012-06-21T07:07:53.343 回答