Dateオブジェクトに時間を追加するにはどうすればいいですか? 質問する

Dateオブジェクトに時間を追加するにはどうすればいいですか? 質問する

JavaScript の Date オブジェクトがいかなる種類の追加関数も実装していないことに驚きました。

私は単にこれを実行できる関数が欲しいだけです:

var now = Date.now();
var fourHoursLater = now.addHours(4);

function Date.prototype.addHours(h) {
  // How do I implement this?
}

私は単に方向性を示す指針が欲しいだけです。

  • 文字列解析を行う必要がありますか?

  • setTime は使えますか?

  • ミリ秒はどうでしょうか?

このような:

new Date(milliseconds + 4*3600*1000 /* 4 hours in ms */)?

これは本当にハックっぽいですが、実際に機能するのでしょうか?

ベストアンサー1

JavaScript 自体にはひどい日付/時刻 API があります。それでも、純粋な JavaScript でこれを行うことができます。

Date.prototype.addHours = function(h) {
  this.setTime(this.getTime() + (h*60*60*1000));
  return this;
}

おすすめ記事