let a = moment(1541059860000).subtract(moment().utcOffset(), 'minute').add(480, 'minute').format('YYYY-MM-DD HH:mm');
let b = moment(1541059860000).utcOffset(480).format('YYYY-MM-DD HH:mm');
console.log(a,b)
复制代码
.utcOffset()//获取的永远是localTime的offset,无论前面的参数是有没有时区
.utcOffset(120)//转换为指定的时区格式,前面的字符串参数的时区是有意义的
console.log(moment('2018-10-06T19:21:00.000+0000').utcOffset(60).format('YYYY-MM-DD HH:mm:ssZ'))//转换为UTC+1时区
console.log(moment('2018-10-06T19:21:00.000+0200').utcOffset(60).format('YYYY-MM-DD HH:mm:ssZ'))//转换为UTC+1时区
console.log(moment('2018-10-06T19:21:00Z').utcOffset())
console.log(moment().utcOffset())//获取localTime的offset
console.log(moment('2018-10-06T19:21:00.000+0200').utcOffset())//获取的仍是localTime的offset,前面参数的时区没有意义
复制代码
是从1970年1月1日(UTC/GMT的午夜)开始所通过的秒数,不考虑闰秒。bash
en.wikipedia.org/wiki/ISO_86… en.wikipedia.org/wiki/ISO_we…ui
Javascript 获取当前时间戳(毫秒级别):spa
第一种方法:code
var timestamp1 = Date.parse( new Date());
复制代码
结果:1542264864020orm
第二种方法:cdn
var timestamp2 = ( new Date()).valueOf();
复制代码
结果:1542264864020blog
第三种方法:ip
var timestamp3 = new Date().getTime();
复制代码
结果:1542264864020字符串
第一种获取的时间戳是精确到秒,第二种和第三种是获取的时间戳精确到毫秒。get
获取指定时间的时间戳:
// 将指定的时间字符串放入参数位置,以下:
new Date("2016-08-03 00:00:00");
复制代码
时间戳转化成时间:
function timetrans(date){
var date = new Date(date*1000);//若是date为13位不须要乘1000
var Y = date.getFullYear() + '-';
var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
var D = (date.getDate() < 10 ? '0' + (date.getDate()) : date.getDate()) + ' ';
var h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';
var m = (date.getMinutes() <10 ? '0' + date.getMinutes() : date.getMinutes()) + ':';
var s = (date.getSeconds() <10 ? '0' + date.getSeconds() : date.getSeconds());
return Y+M+D+h+m+s;
}
复制代码