Javascript 从用户区域设置中选取日期格式字符串

Javascript 从用户区域设置中选取日期格式字符串,javascript,dojo,Javascript,Dojo,我在我的网站上使用了一个Dojo DateTextBox,它采用了contstraint格式的日期格式,如“dd-mm-yyyy”等。我需要选择访问者区域设置的日期格式字符串,并将其传递给这个DateTextBox,以本地格式显示日期。我不需要获取格式化日期的方法,只需要获取格式化字符串。试试这个(参考:): var d=新日期(); var curr_date=d.getDate(); var curr_month=d.getMonth()+1; var curr_year=d.getFul

我在我的网站上使用了一个Dojo DateTextBox,它采用了contstraint格式的日期格式,如
“dd-mm-yyyy”
等。我需要选择访问者区域设置的日期格式字符串,并将其传递给这个DateTextBox,以本地格式显示日期。我不需要获取格式化日期的方法,只需要获取格式化字符串。

试试这个(参考:):


var d=新日期();
var curr_date=d.getDate();
var curr_month=d.getMonth()+1;
var curr_year=d.getFullYear();
当前日期=(当前日期<10?+0“+当前日期:当前日期);
当前月=(当前月<10?“0”+当前月:当前月);
var格式为“=”当前日期+“-”+当前月份+“-”+当前年份;
在行动中看到它:

或者通过
dojo/i18n
插件直接需要本地化包:

require(["dojo/i18n!dojo/cldr/nls/gregorian"], function(gregorian) {

    console.dir(gregorian); // all available formats

    console.log(gregorian['dateFormat-full']);
});
jsFiddle:

编辑:
dijit/form/DateTextBox
处理区域设置本身,因此您可能只需要设置
formatLength

<input
    data-dojo-type="dijit/form/DateTextBox"
    data-dojo-props="constraints: { formatLength: 'long' }"
/>


例如,它如何处理页面上的多个区域设置:

为什么不在data dojo config中设置访问者的区域设置?让Dojo为您选择合适的格式。
require(["dojo/i18n!dojo/cldr/nls/gregorian"], function(gregorian) {

    console.dir(gregorian); // all available formats

    console.log(gregorian['dateFormat-full']);
});
<input
    data-dojo-type="dijit/form/DateTextBox"
    data-dojo-props="constraints: { formatLength: 'long' }"
/>