获取当前日期(或者指定日期)前n天/后n天的日期

    // 获取当前时间,dayNum为number,getDay(-1):昨天的日期;getDay(0):今天的日期;getDay(1):明天的日期;【以此类推】
    getDay(dayNum, nowDay) {
      var today = new Date(nowDay);
      var targetday_milliseconds = today.getTime() + 1000 * 60 * 60 * 24 * dayNum;
      today.setTime(targetday_milliseconds); //注意,这行是关键代码

      var tYear = today.getFullYear();
      var tMonth = today.getMonth();
      var tDate = today.getDate();
      tMonth = this.doHandleMonth(tMonth + 1);
      tDate = this.doHandleMonth(tDate);
      return tYear + "-" + tMonth + "-" + tDate;
    },
    doHandleMonth(month) {
      var m = month;
      if (month.toString().length == 1) {
        m = "0" + month;
      }
      return m;
    },

// 获取2023-02-15前30天的日期  
console.log(this.getDay(-30,'2023-02-15'));  //输出2023-01-16

// 获取2023-02-15后15天的日期  
console.log(this.getDay(15,'2023-02-15'));  //输出2023-03-02

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是使用DateUtil实现获取N和后M日期的工具类的完整代码: ```java import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class DateUtil { /** * 获取当前日期N日期 * @param n N * @param format 日期格式 * @return String类型的日期字符串 */ public static String getBeforeDate(int n, String format) { Calendar calendar = Calendar.getInstance(); calendar.setTime(new Date()); calendar.add(Calendar.DATE, -n); Date date = calendar.getTime(); SimpleDateFormat sdf = new SimpleDateFormat(format); return sdf.format(date); } /** * 获取当前日期后M日期 * @param m 后M * @param format 日期格式 * @return String类型的日期字符串 */ public static String getAfterDate(int m, String format) { Calendar calendar = Calendar.getInstance(); calendar.setTime(new Date()); calendar.add(Calendar.DATE, m); Date date = calendar.getTime(); SimpleDateFormat sdf = new SimpleDateFormat(format); return sdf.format(date); } } ``` 这个工具类中有两个方法,分别为getBeforeDate和getAfterDate,用于获取当前日期N和后M日期。这个工具类使用了Java的Calendar类来实现日期的加减操作,同时也使用了SimpleDateFormat类来将日期转换为指定格式的字符串。在使用时,可以根据需要指定日期格式。例如: ```java String beforeDate = DateUtil.getBeforeDate(7, "yyyy-MM-dd"); System.out.println("7日期为:" + beforeDate); String afterDate = DateUtil.getAfterDate(7, "yyyy年MM月dd日"); System.out.println("7后的日期为:" + afterDate); ``` 输出结果为: ``` 7日期为:2022-02-02 7后的日期为:2022年02月16日 ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值