JSでDateオブジェクトの増減日の使い方

1189 ワード

今周の仕事は主にjsを书くので、JSを使って时间を加减する问题に出会って、総括して记录する必要があると感じます.次回このような問題に遭遇したときに調べるのが便利になるためにも、記憶をよりよく理解するためにも.
var date = new Date(2018,0,7)//      ,    2018 1 7 。

なぜ0で1を表すのか、これはjsの設計欠陥であり、0-11で1-12月を表す.
日付加算
dateが複数回使用される場合、この日付をtemp変数に割り当てるには、tempを操作して計算を完了します.
var temp = new Date(date);

例1:具体的な時間を加える->x年y月z日
temp.setFullYear(temp.getFullYear() + x);//   FullYear
temp.setMonth(temp.getMonth() + 1 + y);//      ,           1
temp.setDate(temp.getDate() + z);//   Date
$("#year").val(temp.getFullYear());
$("#month").val(temp.getMonth());//  setMonth()    1,     1
$("#day").val(temp.getDate);

注意、一定の順序はsetFullYear()->setMonth()->setDateです.そうしないと、時間の加算が正確ではありません.
日付の減算
temp.getTime(); //1515254400000, Number        

date 1とdate 2の日数差の計算
var timesDiff = Math.abs(date1.getTime() - date2.getTime);
var diffDays = Math.ceil(timesDiff / (1000 * 60 * 60 * 24));//    

ただし、日数を増減する場合は、取得後に0~31以外の数が増減する可能性があるため、setDate()で増減するしかありません.
Dateの他の属性については、廖雪峰のJSチュートリアルを見ることができます