使用区域设置更改日期格式

时间:2013-12-09 04:37:36

标签: javascript dojo

我正在处理一个包含Dojo datepicker的简单文本框。以下代码使用区域设置en-gb (dd/mm/yyyy)正确解析日期。但是,从datepicker中挑选的日期仍在区域设置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 个答案:

答案 0 :(得分: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}"