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

dte = "2012-12-21"
value = "2012 年 12 月 20 日"

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

この場合、コンピューターの時刻はUTC + 1であるため、値は「2012年12月22日」と表示されます。

于 2012-12-16T18:17:47.503 に答える