一、格式转换:前端时间格式2020-02-11T12:24:18.000+0000转化成正常格式

function renderTime(date) {
  var dateee = new Date(date).toJSON();
  return new Date(+new Date(dateee) + 8 * 3600 * 1000).toISOString().replace(/T/g, ' ').replace(/\.[\d]{3}Z/, '') 
}

转换完成之后的格式为:2020-02-11 12:24:18

二、获取当前时间戳的方法

第一种方法:
var timestamp = Date.parse(new Date());  
结果:1477808630000 不推荐这种办法,毫秒级别的数值被转化为000


第二种方法:
var timestamp = (new Date()).valueOf();
结果:1477808630404 通过valueOf()函数返回指定对象的原始值获得准确的时间戳值



第三种方法:
var timestamp=new Date().getTime();
结果:1477808630404 ,通过原型方法直接获得当前时间的毫秒值,准确



第四种方法:
var timestamp4=Number(new Date());
结果:1477808630404 ,将时间转化为一个number类型的数值,即时间戳

三、时间戳转时间

方法1:

var time = new Date(1526572800000); //直接用 new Date(时间戳) 格式转化获得当前时间
console.log(time); // VM626:2 Fri May 18 2018 00:00:00 GMT+0800 (中国标准时间)
var times = time.toLocaleDateString().replace(/\//g,"-")+" "+time.toTimeString().substr(0,8);          
//再利用拼接正则等手段转化为yyyy-MM-dd hh:mm:ss 格式
console.log(times); //  2018-5-18 00:00:00

不过这样转换在某些浏览器上会出现不理想的效果,因为toLocaleDateString()方法是因浏览器而异的,比如 IE为2016年8月24日 22:26:19 格式
 搜狗为Wednesday, August 24, 2016 22:39:42, 可以通过分别获取时间的年月日进行拼接,如方法2

方法2:

var now = new Date(1526572800000),
y = now.getFullYear(),
m = now.getMonth() + 1,
d = now.getDate(),
x = y + "-" + (m < 10 ? "0" + m : m) + "-" + (d < 10 ? "0" + d : d) + " " + now.toTimeString().substr(0, 8);
console.log(x); // 2018-05-18 00:00:00

交流

共同进阶学

    

收藏图片 每天都可以领外卖红包哦

        

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐