JavaScript 格式转换 获取当前时间戳 时间戳和日期格式的转换
Js获取当前日期时间的方法function CurentTime(){var now = new Date();var year = now.getFullYear(); //年var month = now.getMonth() + 1; //月va...
·
一、格式转换:前端时间格式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
交流
共同进阶学习
收藏图片 每天都可以领外卖红包哦
更多推荐
已为社区贡献10条内容
所有评论(0)