时间换算 一天24个小时 比如说2016-12-31 23:50:50 这个加上2小时 要变小时 变天 变月份 变年 还有就是减的时候 2016-1-1 0:00 减去2小时 也要都变 我想问的是 我下面中的代码逻辑 是不是写错了 错在那里 求指导
对了 北京时间是utc +8 那 utc+3.5 是小时+3 分钟 +5 还是+30 还是什么
你应该整一个相对于UTC的时间差数据,计算下就行了,
//记录相对于时间差,键值hour表示小时,minute分钟,second秒
//其他国家的按照中国的这种格式补充,没有秒,分钟数据就去掉
var TimeSpan = { 中国: { hour: 8 ,minute:5,second:12} };
function ComputeTime() {
var d = new Date();
var sUTC = d.getUTCFullYear() + '/' + (d.getUTCMonth() + 1) + '/' + d.getUTCDate() + ' ' + d.getUTCHours() + ':' + d.getUTCMinutes() + ':' + d.getUTCSeconds();//UTC时间对象
for (var attr in TimeSpan) {//计算此国家时间并且更新TimeSpan存储的键值为时间对象
d = new Date(sUTC);//重新生成UTC时间
var ts = TimeSpan[attr];
for (var attr1 in ts) {
switch (attr1) {
case 'hour': d.setHours(d.getHours() + ts[attr1]); break;
case 'minute': d.setMinutes(d.getMinutes() + ts[attr1]); break;
case 'second': d.setSeconds(d.getSeconds() + ts[attr1]); break;
}
}
TimeSpan[attr] = d;//更新键值为时间对象,之后直接操作这个对象
}
TimeSpan.UTC = new Date(sUTC);
}
ComputeTime();
document.write('<div id="div"></div>');
function updateDiv(isInit) {
var s = '',d;
for (var attr in TimeSpan) {
d = TimeSpan[attr];
if (isInit !== true) d.setSeconds(d.getSeconds() + 1);
s += attr + ':' + d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate() + ' ' + d.getHours() + ':' + d.getMinutes() + ':' + d.getSeconds()+'<br/>';
}
document.getElementById('div').innerHTML = s;
}
updateDiv(true);
setInterval(updateDiv,1000);
js
function updateDate()
{
if(d.getUTCHours() <0 ){
d.getUTCHours() + 23
d.getUTCDate() - 1
}else if(d.getUTCHours() > 24){
d.getUTCDate() + 1
d.getUTCHours() - 24
}else if(d.getUTCDate() > 31){
d.getUTCMonth()+1
}else if(d.getUTCMonth() >12){
d.getUTCFullYear()+ 1
}
var d = new Date();
//巴黎时间
$("#time19").val(d.getUTCFullYear()+"年"+ (d.getUTCMonth()+ 1)+"月"+ d.getUTCDate()+"日 "+ (d.getUTCHours()+ 1)+":"+ d.getUTCMinutes()+":"+ d.getUTCSeconds());
//伦敦时间
$("#time20").val(d.getUTCFullYear()+"年"+ (d.getUTCMonth()+ 1)+"月"+ d.getUTCDate()+"日 "+ d.getUTCHours()+":"+ d.getUTCMinutes()+":"+ d.getUTCSeconds());
//渥太华时间
$("#time21").val(d.getUTCFullYear()+"年"+ (d.getUTCMonth()+ 1)+"月"+ d.getUTCDate()+"日 "+ (d.getUTCHours() - 5)+":"+ d.getUTCMinutes()+":"+ d.getUTCSeconds());
//墨西哥城时间
$("#time22").val(d.getUTCFullYear()+"年"+ (d.getUTCMonth()+ 1)+"月"+ d.getUTCDate()+"日 "+ (d.getUTCHours()- 6)+":"+ d.getUTCMinutes()+":"+ d.getUTCSeconds());
//纽约时间
$("#time23").val(d.getUTCFullYear()+"年"+ (d.getUTCMonth()+ 1)+"月"+ d.getUTCDate()+"日 "+ (d.getUTCHours()- 5)+":"+ d.getUTCMinutes()+":"+ d.getUTCSeconds());
//芝加哥时间
$("#time24").val(d.getUTCFullYear()+"年"+ (d.getUTCMonth()+ 1)+"月"+ d.getUTCDate()+"日 "+ (d.getUTCHours()- 6)+":"+ d.getUTCMinutes()+":"+ d.getUTCSeconds());
//洛杉矶时间
$("#time25").val(d.getUTCFullYear()+"年"+ (d.getUTCMonth()+ 1)+"月"+ d.getUTCDate()+"日 "+ (d.getUTCHours()- 8)+":"+ d.getUTCMinutes()+":"+ d.getUTCSeconds());
}
window.onload = function()
{
setInterval(updateDate, 1000);
}