7

ユーザーが入力した日付を解析するためにDateJSを使用していますが、奇妙な結果が得られます。

  1. Date.parse("15 Jan 2010")リターンFri Jan 15 00:00:00 EST 2010(右)

  2. Date.parse("15-Apr-2010")リターンThu Apr 15 00:00:00 EDT 2010(右)

  3. Date.parse("15 Apr 2010")返品Thu Apr 1 00:00:00 EDT 2010(間違い)

私が知る限り、d MMM yyyy入力形式は 4 月と 8 月を除くすべての月で正常に機能します。この 2 つのケースでは、入力された日付に関係なく、月の初日が返されます。これはバグですか、それとも私が見逃している論理的な説明はありますか?

4

1 に答える 1

9

Aha: 「ダウンロード」リンクのバージョンは、現在のソースよりもかなり古いようです。このバグを修正したコミットは次のとおりです。

[Dan Yoder] - 日付に「4 月」または「8 月」が含まれている場合、パーサーが「a」が時間部分の始まり (午前/午後など) であると判断する timeContext パターンのバグを修正しました。

EN-US スクリプトの最新バージョンはこちらです : http://code.google.com/p/datejs/source/browse/trunk/build/date-en-US.js数年間更新されていないzipファイルではなく、これに。

于 2010-03-12T22:09:06.807 に答える