zoukankan      html  css  js  c++  java
  • 指定日期的前后几天的日期或者月份

     public static String asd(int past, String time, Integer type) {
            //time  yyyy-MM-dd
            LocalDate now = LocalDate.now();
            Integer year = Integer.valueOf(time.substring(0, 4));
            Integer month = Integer.valueOf(time.substring(5, 7));
            if (type == 1) {
                //
                Integer day = Integer.valueOf(time.substring(8, 10));
                LocalDate localDate = LocalDate.of(year, month, day);
                LocalDate localTimeDay = localDate.minusDays(past);
                return localTimeDay.toString();
            } else if (type == 2) {
                Integer day = 01;
                //
                LocalDate localDate = LocalDate.of(year, month, day);
                LocalDate localTimeMonth = localDate.minusMonths(past);
                return localTimeMonth.toString().substring(0, 7);
            }
            return now.toString();
        }

    但是这种也不算是很完美  按照下标截取还是很不保险 ,测试的时候就发现 有人传 2021-6-2  这种不是标准格式的。

    所以有第二种方式。

    /**
    * 获取指定日期的前几天或月份的日期
    *
    * @param past
    * @return
    */
    public static String getPastDate(int past, String time, Integer type) {
    //改为以- 截取 防止出现 不是标准时间格式
    LocalDate now = LocalDate.now();
    int index = time.indexOf("-");
    Integer month =0;
    int indexOf=0;
    if(time.length()>7){
    indexOf = time.indexOf("-", index + 1);
    month = Integer.valueOf(time.substring(index + 1, indexOf));
    }else {
    String str=time.substring(0, time.indexOf("-"));
    String bb=time.substring(str.length()+1, time.length());
    month = Integer.valueOf(bb);
    }
    Integer year = Integer.valueOf(time.substring(0, time.indexOf("-")));
    if (type == 1) {
    //天
    Integer day = Integer.valueOf(time.substring(indexOf + 1));
    LocalDate localDate = LocalDate.of(year, month, day);
    LocalDate localTimeDay = localDate.minusDays(past);
    return localTimeDay.toString();
    } else if (type == 2) {
    Integer day = 01;
    //月
    LocalDate localDate = LocalDate.of(year, month, day);
    LocalDate localTimeMonth = localDate.minusMonths(past);
    return localTimeMonth.toString().substring(0, 7);
    }
    return now.toString();
    }
  • 相关阅读:
    C# 填充客户端提交的值到T对象
    mvc中hangfire全局简单配置
    mvc企业微信开发全局配置
    js获取简单表单对象(1)
    MVC伪静态路由简单搭配
    [转]一些实用的图表Chart制作工具
    【转】SQL Server 数据库内部版本号
    SVN的搭建和使用总结
    解决ext时间插件在谷歌下变宽的BUG
    Hibernate中Session.get()/load()之区别
  • 原文地址:https://www.cnblogs.com/zq1003/p/14919325.html
Copyright © 2011-2022 走看看