JS获取N年前/后,N月前/后,N日前/后并返回年月日时分秒日期格式

关于日期曾经闹过很多乌龙,刚入行时两个前端在那讨论什么什么时间不好实现,又是什么往前推N天,闰月怎么办等各种学术性问题,当然后来解决了,现在想想真的是脸红,JS里是有关于时间计算的原生函数的,可以完美实现向前或向后推N年,N月,N天,其实也很好实现,下面已经整理出JS的函数并可直接套用,使用时直接写在处理日期的函数里return一下即可,使用时直接调用,还可以使用传参动态拿时间。

 

向前推日期,当然用减号是向推前,用加号便是向后推了

获取向前推27天的日期 不用可不减27

// 获取向前推27天的日期 不用可不减27
let myDate = new Date(); //获取今天日期
let nowDate = new Date(myDate.setDate(myDate.getDate() - 27));
let year = nowDate.getFullYear();
let month = nowDate.getMonth() + 1 < 10 ? "0" + (nowDate.getMonth() + 1) : nowDate.getMonth() + 1;
let day = nowDate.getDate() < 10 ? "0" + nowDate.getDate() : nowDate.getDate();
let hour = nowDate.getHours() < 10 ? '0' + nowDate.getHours() : nowDate.getHours();
let minute = nowDate.getMinutes() < 10 ? '0' + nowDate.getMinutes() : nowDate.getMinutes();
let second = nowDate.getSeconds() < 10 ? '0' + nowDate.getSeconds() : nowDate.getSeconds();
let dateStr = year + "-" + month + "-" + day + ' ' + hour + ':' + minute + ':' + second;
console.log(dateStr)

 

获取向前推27个月的日期 不用可不减27

// 获取向前推27个月的日期 不用可不减27
let myDate = new Date(); //获取今天日期
let nowDate = new Date(myDate.setMonth(myDate.getMonth() - 27));
let year = nowDate.getFullYear();
let month = nowDate.getMonth() + 1 < 10 ? "0" + (nowDate.getMonth() + 1) : nowDate.getMonth() + 1;
let day = nowDate.getDate() < 10 ? "0" + nowDate.getDate() : nowDate.getDate();
let hour = nowDate.getHours() < 10 ? '0' + nowDate.getHours() : nowDate.getHours();
let minute = nowDate.getMinutes() < 10 ? '0' + nowDate.getMinutes() : nowDate.getMinutes();
let second = nowDate.getSeconds() < 10 ? '0' + nowDate.getSeconds() : nowDate.getSeconds();
let dateStr = year + "-" + month + "-" + day + ' ' + hour + ':' + minute + ':' + second;
console.log(dateStr)

 

// 获取向前推27年的日期  不用可不减27

// 获取向前推27年的日期  不用可不减27
let myDate = new Date(); //获取今天日期
let nowDate = new Date(myDate.setFullYear(myDate.getFullYear() - 27));
let year = nowDate.getFullYear();
let month = nowDate.getMonth() + 1 < 10 ? "0" + (nowDate.getMonth() + 1) : nowDate.getMonth() + 1;
let day = nowDate.getDate() < 10 ? "0" + nowDate.getDate() : nowDate.getDate();
let hour = nowDate.getHours() < 10 ? '0' + nowDate.getHours() : nowDate.getHours();
let minute = nowDate.getMinutes() < 10 ? '0' + nowDate.getMinutes() : nowDate.getMinutes();
let second = nowDate.getSeconds() < 10 ? '0' + nowDate.getSeconds() : nowDate.getSeconds();
let dateStr = year + "-" + month + "-" + day + ' ' + hour + ':' + minute + ':' + second;
console.log(dateStr)

 

以上便是JS获取N年前/后,N月前/后,N日前/后并返回年月日时分秒日期格式的所有内容

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.duanlonglong.com/qdjy/1227.html