思路当前时间获取 主要是利用时间戳的时间差来显示当前时间
在线时间戳转换网站 方便校验https://tool.lu/timestamp/
时间戳:unix时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。 [1]
Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)
是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。
UNIX时间戳的0按照ISO 8601规范为 :1970-01-01T00:00:00Z.
一个小时表示为UNIX时间戳格式为:3600秒 即是3600000;一天表示为UNIX时间戳为86400秒。
日期这些 可以使用内置方法转换时间戳来获取当前日期
例如
计算两个日期间 可以使用时间戳
let days = new Date().getTime() - new Date('/01/01').valueOf();// 计算相差天数
// 一天时间戳 86400000
七天前
new Date(new Date().setDate(new Date().getDate() - 7)).toLocaleDateString();//七天前的时间 /12/10
一个月前
new Date(new Date().setDate(new Date().getDate() - 30)).toLocaleDateString();//一个月前的时间 /12/10
一年前
new Date(new Date().setDate(new Date().getDate() - 365)).toLocaleDateString();//一年前的时间 /12/10
当前日期
new Date().toLocaleDateString();//当前时间/12/17
获取上个月最后一天
//获取上一个月最后一天-05-31 (今天是-06-27)let MonthlastDay = new Date(new Date(new Date().getFullYear(), new Date().getMonth() - 1, new Date(new Date().getFullYear(), new Date().getMonth(), 0).getDate())).toLocaleDateString();
获取上个月第一天
//获取上一个月最后一天-05-31 (今天是-06-27)let MonthlastDay = new Date(new Date(new Date().getFullYear(), new Date().getMonth() - 1, new Date(new Date().getFullYear(), new Date().getMonth(), 0).getDate())).toLocaleDateString();let arr=MonthlastDay.split('/');let day=arr[0]+'-'+arr[1]+'-01';// day= -05-01
获取上个月到12个月前的时间段
let MonthlastDay = new Date(new Date(new Date().getFullYear(), new Date().getMonth() - 1, new Date(new Date().getFullYear(), new Date().getMonth(), 0).getDate())).toLocaleDateString(); //-05-31 let addList = []; //先创建一个空数组,过滤存在超标表里面的设备序列号uploaddeviceinfo表的数据let premonth = []; //先创建一个空数组,方便后面存储日期数据let d = new Date(); // 当前时间d.setMonth(d.getMonth() + 1, 1); //设置月份,设置当前日为1号 (避免出现31号时候,其他月份没有31号的bug)for (let i = 0; i < configInfo.obd.mns.AL.HowMonth + 1; i++) {//开始循环d.setMonth(d.getMonth() - 1); //月份值-1 循环的时候在当前月份上减一 来获取上个月的月份(0 ~ 11)let m = d.getMonth() + 1; // 月份 + 1 来获取真正的月份 (1 ~ 12)m = m < 10 ? "0" + m : m; //三元表达式来判断 如果小于10月 给前面 +0 如果大于等于10月 则不变输出premonth.push(d.getFullYear() + "-" + m); //将 循环出来的 年月 一次 存放进 result 数组中}//premonth[premonth.length - 1]+ "-" + "01"; //-06-01let months = [premonth[premonth.length - 1] + "-" + "01", MonthlastDay ]; //获取到前几个月数据到上个月月末时间段// months = -06-01 -05-31
获取下周一日期
//今天是 -06-28周二 ,则本周一是-06-27let myDate = new Date();myDate.setDate(myDate.getDay() == 0 ? myDate.getDate() - 6 : myDate.getDate() - (myDate.getDay() - 1)); //先获取当前日期的周一let dtime = new Date(myDate.setDate(myDate.getDate() + 7)).toLocaleDateString(); //+7代表下一个周一//dtime="/7/4" 下周一
获取七天之后的日期
//今天是 -06-28周二let time=new Date(new Date().setDate(new Date().getDate()+ 7)).toLocaleDateString();//七天后的时间 //time="/7/5"
如果觉得《JavaScript 有关获取当前/上个月/12个月前/七/7天/一周之前/下周一的日期格式 持续更新...》对你有帮助,请点赞、收藏,并留下你的观点哦!