Javascript 如何使用客户机时区在客户机中将db时间戳作为日期戳输出?
在数据库中给定一个时间戳,如:2012-06-06T00:27:33Z 对于这样的用户,在浏览器中呈现此内容的最佳方式是: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
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'