我有:
任何日期(GMT + 00:00)UTC
var d = new Date(y, m, d, h, min, s);
和小时的时差
var visitortime = new Date();
var time_offset = visitortime.getTimezoneOffset()/60;
如何在不编写长手工功能的情况下考虑差异来计算新日期?
答案 0 :(得分:0)
<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>
答案 1 :(得分:0)
如果您想为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
var result = moment().add("hours", 4);