我想以MM / yyyy格式显示日期。我使用以下代码更改格式:
var inputDate = new Date(data);
var date = dojo.date.locale.format(inputDate, {datePattern: "MM/yyyy", selector: "date"});
数据包含输入日期。例如,在浏览器中设置德语区域设置时,输入值如下:01.03.2016 05:30
创建具有此值的日期对象时,虽然在浏览器中设置了美国语言环境时有效,但会提供无效日期。请指导修复此问题。
答案 0 :(得分: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>
&#13;