2013-12-09 114 views
0

我正在使用具有Dojo datepicker的簡單文本框。以下代碼使用語言環境en-gb(dd/mm/yyyy)正確解析日期。但是,從日期選擇器中選取的日期仍在區域en-us(mm/dd/yyyy)中。因此,如果超過了本月的第12日,它就無法解析日期。使用語言環境更改日期格式

 require(["dojo/date/locale","dijit/form/Button", "dojo/dom", "dojo/domReady!"],function(locale,Button,dom){ 
      var myButton = new Button({ 
       label: "Submit Date", 
       onClick: function(){ 
        var date = locale.parse(dom.byId("date1").value,{ 
         formatLength:'short', 
         selector:'date', 
         locale:'en-gb' 
        }); 
        alert(date); 
       } 
      }, "submit"); 
     }); 

我該如何解決這個問題?

+1

當你的onClick被調用時,「dom.byId('date1')。value」的值是什麼?也許你可以創建一個jsFiddle,你可以將它作爲一個鏈接,讓我們檢查這個故事嗎? – Kolban

+0

我無法創建小提琴。以下是完整的代碼:http://dabblet.com/gist/7868328 –

回答

0

我通過明確提及日期格式解決了這個問題。

onClick: function(){ 
    var date = locale.parse(dom.byId("date1").value,{ 
     formatLength:'short', 
     selector:'date', 
     locale:'en-gb', 
     datePattern:'dd/MM/yyyy' 
    }); 
    alert(date.toLocaleString()); 
} 

而且,還提到了內聯模式。

constraints="{datePattern:'dd/MM/yyyy', strict:true}" 
相關問題