dojo / date / locale / format格式正确,但返回错误的日期?

时间:2012-12-14 19:48:57

标签: javascript date dojo

value = date.locale.format(dte, {
   datePattern : "MMMM d, yyyy",
   selector : 'date'
});

dte =“2012-12-21”
value =“2012年12月20日”

这真的是DoJo甚至不知道21世纪是什么日子的结束吗?真的虽然......为什么转换错了?

1 个答案:

答案 0 :(得分:2)

这可能是一个时区,取决于您实例化dte的方式。 “2012-12-21”很暧昧。

例如,我是UTC + 1,所以下面的代码对我来说会有同样的“问题”:

dte = new Date("Fri, 21 Dec 2012 23:01:00 GMT");

value = date.locale.format(dte, {
   datePattern : "MMMM d, yyyy",
   selector : 'date'
});

在这种情况下,值会显示“Dec 22,2012”,因为我的计算机时间是UTC + 1.