0

私は持っている:

任意の日付 (GMT+00:00)UTC

var d = new Date(y, m, d, h, min, s);

および時差 (時間単位)

var visitortime = new Date();
var time_offset = visitortime.getTimezoneOffset()/60;

長い手作り関数を書かずに、違いを考慮して新しい日付を計算するにはどうすればよいですか?

4

2 に答える 2

-1

Dateインスタンスに時間を追加したい場合は、Date.setHoursメソッドを利用できます。

var userTime = new Date();

// Add four hours to the `userTime` date instance.
userTime.setHours(userTime.getHours() + 4);

これを再利用可能にしたい場合は、Dateオブジェクトのプロトタイプに新しいメソッドを追加できます。

// Add the supplied number of hours to a Date instance.
Date.prototype.addHours = function (value) { 
    this.setHours(this.getHours() + value);
};

次に、次のように簡単に書くことができます。

var userDate = new Date();
userDate.addHours(4);

コードで多くの日付操作を行う予定がある場合は、新しいメソッドをDateプロトタイプ、あなたのコードは移植性を保ちます。moment.js を使用して Date インスタンスに 4 時間を追加する方法を次に示します。

var result = moment().add("hours", 4);
于 2012-08-15T12:09:33.920 に答える
-1

サンプル:

​&lt;div id="d1"></div>
<div id="d2"></div>
<script type="text/javascript">
    var d1 = document.getElementById('d1'),
    d2 = document.getElementById('d2'),
    hours = 3,
    date1 = new Date(),
    date2 = new Date();
    date2.setTime(date1.getTime() + hours * 3600000);
    d1.innerHTML = date1;
    d2.innerHTML = date2;
</script>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​
于 2012-08-15T12:04:32.260 に答える