Javascript 如何使用客户机时区在客户机中将db时间戳作为日期戳输出?

Javascript 如何使用客户机时区在客户机中将db时间戳作为日期戳输出?,javascript,jquery,ruby-on-rails,ruby-on-rails-3,Javascript,Jquery,Ruby On Rails,Ruby On Rails 3,在数据库中给定一个时间戳,如:2012-06-06T00:27:33Z 对于这样的用户,在浏览器中呈现此内容的最佳方式是: 5/02/12 3:48 PM 最好使用JS库来使用客户端在客户端的localtime中进行渲染吗?这里的最佳实践是什么?谢谢我使用了矩JS库进行常规日期解析和格式化。它很甜 你的例子基本上是: var date = moment('2012-06-06T00:27:33Z'); console.log('Formatted is %s', date.format('M

在数据库中给定一个时间戳,如:2012-06-06T00:27:33Z

对于这样的用户,在浏览器中呈现此内容的最佳方式是:

5/02/12 3:48 PM

最好使用JS库来使用客户端在客户端的localtime中进行渲染吗?这里的最佳实践是什么?谢谢

我使用了
矩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

默认情况下,矩以本地时间解析,自动进行时区转换。

如果您使用的是Rails,请在environment.rb中添加类似的内容

Date::DATE_FORMATS[:browser] = "%d/%b/%Y %H:%m"
看看这个,根据你的口味来编排

在你将要放置的视图中

<%= Model.date_field.to_s(:browser) %>

如果需要调整时区,首先需要查询用户的时区。有几种方法可以做到这一点

然后在视图中,您可以使用例如

<%= Model.date_field.change(:offset => "+0300").to_s(:browser) %>
“+0300”)。到(:浏览器)%>




有任何选择

希望这是有帮助的

试试看:

<%= article.created_at.local_time %>
在以下观点中:

 <%= I18n.l current_article.created_at, :format => :long %>

嘿,谢谢,这很酷,但对我们的需求来说有点复杂和大。我也找到了这个,但它似乎不起作用。非常小,可以解决疼痛。那么,您如何将其应用于所有标记或具有特定类的标记呢?首先,您需要确定是纯粹在客户端(使用JS)执行,还是在渲染期间在服务器端执行。通常情况下,如果您手头有用户时区,那么在服务器端执行此操作会更简单(请参阅第一个答案)。如果您打算在JS中执行此操作,那么应该直接迭代所有
时间
(或任何其他)元素,获取值或属性并实例化一些
时刻
类。
<%= (Model.date_field.utc + Time.zone_offset('EST')).to_s(:browser) %>
<%= article.created_at.local_time %>
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.time_zone = 'Berlin'