当前位置:   article > 正文

JavaScript JS获取指定日期的前几天或者后几天(默认后1天)

js获取指定日期的前几天

/**
 * JavaScript 获取指定日期的前几天或者后几天的日期
 * @param date {string} 日期 如:2022-07-12
 * @param day {number} 天数 如:1 后一天| -1 前一天,默认后1天
 * @param format {string} 时间格式 如:2022-07-13,默认 - 
 * @returns {string}
 */


 支持传入格式: yyyy-mm-dd  yyyy/mm/dd yyyy年mm月dd日


  1. function getNextDate(date, day = 1, format = "{y}-{m}-{d}") {
  2. if (date) {
  3. //处理传入年月日格式 例如 date = 2022年07月12日
  4. date = date.match(/\d+/g).join("-");
  5. //方式二处理传入年月日格式 (需要针对是否是年月日格式判断)
  6. //date = date.replace(/[年月日]/g, "-").slice(0, -1);
  7. //方式三处理传入年月日格式
  8. //date = date.replace(/[年月]/g, "-").replace("日", "");
  9. // console.log(date, "date"); // 2022-07-12
  10. const nDate = new Date(date);
  11. nDate.setDate(nDate.getDate() + day);
  12. const formatObj = {
  13. y: nDate.getFullYear(),
  14. m: nDate.getMonth() + 1,
  15. d: nDate.getDate(),
  16. };
  17. return format.replace(/{([ymd])+}/g, (result, key) => {
  18. const value = formatObj[key];
  19. return value.toString().padStart(2, "0");
  20. });
  21. } else {
  22. console.log("date为空或格式不正确");
  23. }
  24. }

 使用示例


console.log(getNextDate("2022-07-12")); //2022-07-13
console.log(getNextDate("2022/7/12")); // 2022-07-13
console.log(getNextDate("2022年7月12日")); // 2022-07-13
console.log(getNextDate("2022/7/12",2)); // 2022-07-14 
console.log(getNextDate("2022年7月12日",-10)); // 2022-07-02 
console.log(getNextDate("2022-7-12", 4, "{y}年{m}月{d}日")); // 2022年07月16日 
console.log(getNextDate("2022-7-12", 1, "{y}/{m}/{d}")); // 2022/07/13 

 到此结束。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/313686
推荐阅读
相关标签
  

闽ICP备14008679号