2016-05-31 40 views
0

我想以MM/yyyy格式顯示日期。我正在使用以下代碼更改格式:將值傳遞給Date對象的問題

var inputDate = new Date(data); 

      var date = dojo.date.locale.format(inputDate, {datePattern: "MM/yyyy", selector: "date"}); 

數據包含輸入日期。例如,當在瀏覽器中設置德語語言環境時,輸入值如下所示:01.03.2016 05:30

雖然使用此值創建日期對象時會生成無效日期,但它在美國語言環境設置在瀏覽器中時起作用請指導解決此問題。

回答

1

您可以使用locale.parse將您的本地化日期字符串轉換爲日期對象,然後將日期對象轉換爲所需的格式化日期。

看這個小例子:

var browserLocale = 'de', 
 
    data = '01.03.2016 05:30'; 
 

 

 
require(["dojo/i18n", "dojo/date/locale"], function(i18n, locale){ 
 
    require([i18n.getL10nName("dojo/cldr", "gregorian", browserLocale)], function() { 
 
     var dateObject = locale.parse(data, {formatLength: 'short', locale: 'de'}); 
 
     alert(locale.format(dateObject, {datePattern: "MM/yyyy", selector: "date"})); 
 
    }); 
 
});
<script src="//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/dojo.js"></script>