例如,我有一個字符串日期這樣的(我從JSON服務器獲取這一點,從Rails應用程序)JSON日期,顯示在服務器的時區原來的日期
s = "2013-09-01T00:00:00.000+08:00"
我想顯示它像這樣
01.09.2013
所以我使用moment.js庫這個
moment(s).zone("+08:00").format("DD.MM.YYYY")
>> "01.09.2013"
但如果需要的話,我不知道時區是+08:00。如果我跳過.zone()
電話,因爲我的瀏覽器是在不同的充時區
moment(s).format("DD.MM.YYYY")
>"31.08.2013"
即使在我原來的字符串我在結束了+08:00
結果將是錯誤的。
所以,我的問題是如何從json日期字符串中使用純JavaScript或者moment.js庫來提取時區?
我能想到的是人工提取的最後6個字符的最簡單方法,
s.slice(s.length - 6, s.length)
> "+08:00"
但也許有這個任務更好的方法?
你控制導軌代碼?在Ruby中有一個'#utc'方法(在Ruby on Rails的DateTime中),它將時間轉換爲utc。這將是避免時區頭痛的好方法。另外請注意,rails時區格式不是必需的數字,但也可以是「CEST」之類的東西。 –