将本地时间转换成 UTC 时间,0时区时间

// 将时间戳转换成日期格式:
function timestampToTime(timestamp) {
var date = new Date(timestamp);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
var Y = date.getFullYear() + '年';
var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '月';
var D = (date.getDate()+1 < 10 ? '0'+(date.getDate()) : date.getDate()) + '日';
// var D = date.getDate() + '日 ';
var h = date.getHours() + ':';
// var h = (date.getHours()+1 < 10 ? '0'+(date.getHours()+1) : date.getHours()+1) + ':';
// var m = date.getMinutes() + ':';
var m = (date.getMinutes()+1 < 10 ? '0'+(date.getMinutes()) : date.getMinutes());
// var s = date.getSeconds();
// return Y+M+D+h+m+s;
return Y+M+D+h+m;
}
//将本地时间转换成UTC时间(减去计算时差)0时区时间
function FormatUtcDate(obj) {
var str = '';
str += obj.getUTCFullYear() + '/';

if((obj.getUTCMonth() + 1) < 10) {
str += '0' + (obj.getUTCMonth() + 1) + '/';
} else {
str += (obj.getUTCMonth() + 1) + '/';
}

if(obj.getUTCDate() < 10) {
str += '0' + obj.getUTCDate();
} else {
str += obj.getUTCDate();
}
return str + ' ' + obj.getUTCHours() + ':' + obj.getUTCMinutes() + ':' + obj.getUTCSeconds();
}

上面这2个函数直接引用

function aaa(){
// 将本地时间转换成 UTC 时间,计算时差,将UTC时间转换成 本地 时间
var date = '2018-08-23'; //你的时间格式(你的时间)
//调用
var date = FormatUtcDate(new Date(date)) //调用这个方法转为0时区,你本地时间,带时分秒
var aa = FormatUtcDate(new Date(date));//本地转0时区的时间
startTime = Date.parse(new Date(aa)); //0时区转时间戳
console.log("用户选择的本地时间:" + date); //2018/08/27
console.log("用户选择0时区时间:" + aa);    //2018/08/26 16:0:0
console.log("用户选择0时区时间戳:" + startTime);  //1535270400000
var kk=timestampToTime(startTime);
$(".startTime").text(timestampToTime(startTime));
}
aaa();

开始日期时间戳加上天数之后的时间戳

endTime = startTime + dataSum * 24 * 60 * 60 * 1000;//结束时间转时间戳
console.log("结束的时间戳为:" + endTime);

例如:

endTime = 1535270400000+ 1(天)* 24 * 60 * 60 * 1000;//结束时间转时间戳
console.log("结束的时间戳为:" + endTime);  //1535529600000

注意:在日期转换过程中有坑的地方,在苹果手机日期显示NAN不正常时候,要将日期格式例如2018-10-23改成2018/10/23,才会正常显示

原文地址:https://www.cnblogs.com/Fancy1486450630/p/9543110.html