GMT格林威治时间格式转换(转timestamp时间戳或年月日时分秒)及其转换差8个小时的问题

获取当前时间戳

获取当前时间戳
var now = new Date()
var now_timestamp = Date.parse(now)

时间戳(timestamp)转格林威治时间(GMT)(Date类型)

时间戳(timestamp)转格林威治时间(GMT)(Date类型)
var GMT =new Date(timestamp)

格林威治时间转时间

 格林威治时间转时间
 var timestamp = Date.parse(GMT_time)

差8个小时的解决方法(中国标准时间要+8小时)

差8个小时的解决方法(中国标准时间要+8小时)
var timestamp = Date.parse(GMT_time)+8*60*60*1000
//timestamp为GMT的时间戳
//timestamp单位为毫秒(ms)

格林威治时间转年月日时分秒(注意如果GMT是中国标准时间,那么转换后得到的gmt则会变成中国标准时间+8小时!!!

格林威治时间转年月日时分秒
var gmt = new Date(GMT)//这里将GMT转换成Date类型以便调用Date类的函数方法,不转换的话,虽然控制台打印出来的格式一样,但却无法调用Date类的函数方法
var Str = 
			gmt.getFullYear() + '-' +
            (gmt.getMonth() + 1) + '-' +//此处+1是因为js当初设计的缺陷:它用0-11表示1-12月份。
             gmt.getDate() + ' ' +
             gmt.getHours()+ ':' +
             gmt.getMinutes() + ':' +
             gmt.getSeconds()
            

//由于gmt是GMT+8小时,所以需要减去八小时,此时就需要将gmt转换成时间戳减去8小时的毫秒数,然后再转成**(Date类型的)GMT**,再通过Date类的函数方法转成年月日时分秒

var stamp_time=Date.parse(GMT)-8*60*60*1000;

                let date = new Date(stamp_time);
                console.log(time);
                console.log(date);
                let Str = date.getFullYear() + '-' +
                    (date.getMonth() + 1) + '-' +
                    date.getDate() + ' ' +
                    (date.getHours()) + ':' +
                    date.getMinutes() + ':' +
                    date.getSeconds();

猜你喜欢

转载自blog.csdn.net/qq_43228135/article/details/100129159