2017-03-22 58 views
0

如何根據區域/語言格式顯示使用「moment.js」的日期(某些語言默認使用不同的日期格式進行表示),還能夠自定義格式按需求:如何根據用戶區域使用自定義日期格式顯示日期

e.g-> How can I show time using moment in this format: Sunday, January 1 2012 using moment.js which will be 2012年1月1日(日)in japan automatically. Moment library does not provide this customization by default. 
i.e.-> Sunday, January 1 2012 (Using moment().format('LLLL'))? 

回答

0

我找到的解決方案是更新現有的時刻語言環境格式或使用時刻獲取語言環境格式,根據需要修改它並使用。步驟如下:

  1. 使用moment.js按照區域設置(或語言)獲取格式。

    var localeFormat = moment.langData()._longDateFormat['LLLL'];//for moment v2.5.1 
    
  2. 根據自定義格式需要修改localeFormat

    localeFormat.replace("LT","") 
    

    它將替換以默認語言環境格式顯示的時間值。例如:

    Sunday, January 1 2012 12:45 pm更改爲Sunday, January 1 2012

1

最簡單的方式來實現你想要的是以下之一:

  1. 將您瞬間日期爲的JavaScriptDatemoment().toDate()
  2. 根據語言環境
  3. 使用$filter('date')當你需要顯示你的約會

在這裏你可以找到一個指南,使用AngularJS的國際化功能安裝角區域它負責調節日期Angular i18n

1

你可以自定義一些結合矩量法:

var moment = require('moment'); 
var date = moment().format('dddd, MMMM D YYYY'); 
console.log(date); // gives you the date in the format you need 
+1

@svarog此解決方案不適用於日語語言環境。在日本,時間格式不同。 – manoj

+0

檢測本地/語言是否爲日語並提供不同的格式。 goto [momentjs](https://momentjs.com/),向下滾動,點擊'japanese'按鈕,網站應該顯示日文格式 – svarog

+0

不是檢測所有語言和編寫邏輯的可行解決方案。無論如何,謝謝。我找到了解決方案。 – manoj

相關問題