2012-06-06 107 views

回答

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 

默認情況下瞬間解析本地時間,自動做時區轉換。

+0

嘿,謝謝,這很酷,這對我們的需求來說有點複雜和大。我也發現了這個,但它似乎沒有工作。非常小,解決了痛苦。 http://code.google.com/p/jquery-localtime/wiki/Usage – AnApprentice

+0

那麼如何將這個應用到所有

+0

嗯,首先你需要確定你是要在純粹的客戶端(使用JS)還是事實上在渲染過程中做到服務器端。通常情況下,如果你有用戶時區,而不是服務器端更簡單(見第一個答案)。如果你打算在JS中做,而不是直接遍歷所有的'時間'(或任何其他)元素,那麼獲取值或屬性並實例化一些'Moment'類。 –

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

如果您需要調整時區,你首先需要查詢您的用戶的時區。有幾種方法可以做到這一點。

然後在視圖中,您可以使用e.g

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

有任何選擇!

希望這有幫助!

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

和用於時區轉化:

配置/環境/發育。rb

config.time_zone = 'Berlin' 
相關問題