0
var dateStart = $('input[id=orderdate-0]').val();
    var timeStart = $('input[id=ordertime-0]').val();
    var dateEnd = $('input[id=orderdate-1]').val();
    var timeEnd = $('input[id=orderime-1]').val();

    var startDate = new Date(dateStart + " " + timeStart);
    var endDate = new Date(dateEnd + " " + timeEnd);
     startDate.getTime();
    alert(startDate);

「2013-12-11」のdateStartと「11:00」のtimeStartを組み合わせて、そこから日付を生成しようとしています。しかし、無効な日付のようなアラートが表示されます。コードに何か問題がありますか。

4

3 に答える 3

1

Dateコンストラクターは、受け入れる日付文字列形式に非常にこだわっています。

例:

  • 1995 年 12 月 25 日
  • 1995 年 8 月 9 日水曜日 00:00:00
  • 2011-10-10T14:48:00 (JavaScript 1.8.5+)

日付の個々のコンポーネントを受け取る別のコンストラクターがあります。日付文字列をコンポーネントに分割する場合は、次を使用できます。

new Date(year, month, day, hour, minute);
于 2013-02-20T10:02:57.270 に答える
0

モーメント JS プラグインを使用http://momentjs.com/

これは、日付の解析、検証、操作、書式設定を行うための日付ライブラリです。

于 2013-02-20T10:02:23.460 に答える
-1

これは関数の有効な形式ではありませんparse。代わりにこれを使用できます。

var arr = dateStart.split('-');
var timeArr = timeStart.split(':');
new Date(arr[0], arr[1] -1, arr[2], timeArr[0] -1, timeArr[1] -1);

これを読んでください。

ライブデモ

于 2013-02-20T10:03:09.183 に答える