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

dte = "2012-12-21"
value = "December 20, 2012"

这真的是 DoJo 甚至不知道 21 日是什么日子的末日吗?真的……为什么它转换错误?

4

1 回答 1

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'
});

在这种情况下,值将为我显示“2012 年 12 月 22 日”,因为我的计算机时间是 UTC+1。

于 2012-12-16T18:17:47.503 回答