我有:
任何日期 (GMT+00:00)UTC
var d = new Date(y, m, d, h, min, s);
和小时的时差
var visitortime = new Date();
var time_offset = visitortime.getTimezoneOffset()/60;
如何在不编写长手工函数的情况下考虑差异来计算新日期?
我有:
任何日期 (GMT+00:00)UTC
var d = new Date(y, m, d, h, min, s);
和小时的时差
var visitortime = new Date();
var time_offset = visitortime.getTimezoneOffset()/60;
如何在不编写长手工函数的情况下考虑差异来计算新日期?
样品:
<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>
如果您想为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);
如果您打算在代码中进行大量日期操作,那么最好引入一个日期/时间库,例如moment.js,其中包含许多有用的实用程序方法,而不像添加新方法到Date
原型,您的代码将保持可移植性。这是使用 moment.js 向 Date 实例添加四个小时的方法
var result = moment().add("hours", 4);