0

Javascript での日付操作に問題があります。

私は 1 つの変数を持っています。それはfirstDay私が操作している日付です。

ある変数からの日数と別の変数からの日数をfirstDay追加するには:XY

var from_date = new Date(firstDay); // firstDay is a string with date: 2012/07/28
var to_date = new Date(firstDay);

var X = 1;
var Y = 5;

from_date.setDate(from_date.getDate() + X);
to_date.setDate(to_date.getDate() + Y);

そのfrom_dateため、現在は日付 29.07.2012 が含まれており、to_date は 02.08.2012 です。日付が適切に変わる理由はわかりませんが、月は同じままです。

どこで何か間違っていますか?

4

2 に答える 2

1

コードをコピーして貼り付けると、期待どおりに機能しました: http://jsfiddle.net/kDYdW/4/

唯一の違いはfirstDayであるため、おそらく問題があると思います。

また、「月は変わらない」とも言っていますが、7 月from_dateと 6 月はto_date(29.07.2012 および 02.06.2012) であると報告しています。

更新: jsfiddle の適切なリビジョンを追加しました

于 2012-07-28T11:32:22.557 に答える
1

setDate(d)指定された月の日付を設定するだけです (たとえばsetMonth(m)、月を変更するだけです)。

とが日数であるとsetTime(t)仮定して、完全なタイムスタンプを設定する whichを使用したい場合があります。XY

from_date.setTime(from_date.getTime() + (X * 24 * 60 * 60 * 1000));
to_date.setTime(to_date.getTime() + (Y * 24 * 60 * 60 * 1000));
于 2012-07-28T11:32:46.110 に答える