在前端中,有时候会用到时间戳参数,时间戳参数大多是new Date()形成的毫秒数
在某些情况下,需要还原时间戳表示的时间,也就是将毫秒数转换为标准时间格式的日期
// 假设timeStamp为时间戳的数值字符串
new Date(parseInt(timeStamp)).toLocaleDateString()
//上述方法得到的时间如2021/10/14
new Date(parseInt(timeStamp)).toLocaleDateString().replace(new RegExp('/',"g"),"")
//上述方法得到的时间如20211014
以上代码中,先将时间戳字符串转换为整数,然后再转换为new Date()格式的日期,然后再通过toLocaleDateString转换为本地标准时间
然而上述方法会有一个小问题,就是如果月份、日期的是1-9之间的数,只会显示一位数字,有的情况下需要显示两位数字,如01 02 03这种格式的,所以就要使用下属方法
// 提取出日期
myDate.getDate()>9?myDate.getDate().toString():'0'+myDate.getDate();
// 提取出月份
myDate.getMonth()+1>9?(myDate.getMonth()+1).toString():'0'+(myDate.getMonth()+1);
1.js日期转毫秒,毫秒转日期
【1】js毫秒时间转换成日期时间
var oldTime = (new Date(“2012/12/25 20:11:11”)).getTime(); //得到毫秒数
不是上面格式的时间需要转换
starttime =‘2012-12-25 20:17:24’; starttime = starttime.replace(new RegExp(“-”,“gm”),“/”);
var starttimeHaoMiao = (new Date(starttime)).getTime(); //得到毫秒数
【2】毫秒数转化为时间
var oldTime = (new Date(“2012/12/25 20:11:11”)).getTime(); //得到毫秒数
var newTime = new Date(oldTime); //就得到普通的时间了
2.js获取一周、一个月之前的日期
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
console.log(start,end); //start为一个月前的日期,end为当前日期;若想获取一周前的日期,将30给为7即可