代码:
var te = "1524623451421";
var time = new Date(te * 1000); //时间戳为10位需*1000
var time = new Date(te); //时间戳为13位的话不需乘1000
//获取年、月、日、时、分、秒
var y = time.getFullYear();
var m = time.getMonth() < 9 ? '0' + (time.getMonth() + 1) : time.getMonth() + 1; //月份是从0开始的
//设置成两位的 判断前面是否需要加0
var d = time.getDate() < 10 ? '0' + time.getDate() : time.getDate();
var h = time.getHours() < 10 ? '0' + time.getHours() : time.getHours();
var mm = time.getMinutes() < 10 ? '0' + time.getMinutes() : time.getMinutes();
var s = time.getSeconds() < 10 ? '0' + time.getSeconds() : time.getSeconds();
//用喜欢的格式拼接
var timedate = y + '-' + m + '-' + d + ' ' + h + ':' + mm + ':' + s;
本地时间转UTC时间
//当前时间转为UTC时间
let date = new Date();
//获取当前时间毫秒数 - 8小时的毫秒数 再赋值给date对象
date.setTime(date.getTime() - 3600 * 1000 * 8);
console.info(date);
UTC时间转本地时间
UTC时间一般带有时区的,所以直接new Date(dateString);把日期字符串丢进去就行。
没有时区就根据上面方式+8小时就行 。
总结:
1、字符串转Date类型时 需要转换为int类型
2、月份需要+1 周日是0 周一是1
3、注意区分获取一年中的第多少天,一个月中的第多少天。