Java封装常用时间-DateUtils的工具类

public class DateUtils {
    /** 系统默认 日期类型 yyyy-MM-dd */
    public static final String DATE_PATTERN_DEFAULT = "yyyy-MM-dd 00::0:00";

    /** 时间 日期类型 HH:mm:ss */
    public static final String DATE_PATTERN_TIME = "HH:mm:ss";

    /** 日期时间 日期类型 yyyy-MM-dd HH:mm:ss */
    public static final String DATE_PATTERN_DATETIME = "yyyy-MM-dd HH:mm:ss";

    /** 时期格式 yyyy-MM-dd */
    public static DateFormat dateformater;

    /** 时间格式 HH:mm:ss */
    public static DateFormat timeformater;

    /** 日期时间格式 yyyy-MM-dd HH:mm :ss*/
    public static DateFormat dateTimeformater;

    static {
        if (DateUtils.dateformater == null) {
            DateUtils.dateformater = new SimpleDateFormat(DateUtils.DATE_PATTERN_DEFAULT);
        }
        if (DateUtils.timeformater == null) {
            DateUtils.timeformater = new SimpleDateFormat(DateUtils.DATE_PATTERN_TIME);
        }

        if (DateUtils.dateTimeformater == null) {
            DateUtils.dateTimeformater = new SimpleDateFormat(DateUtils.DATE_PATTERN_DATETIME);
        }
    }
    /**
     * 得到现在时间
     *得到15min之前的时间
     * @return 字符串 yyyy-MM-dd HH:mm :ss
     */
    public static Map getRec15min() {
        //创建时间对象
        Calendar c = Calendar.getInstance();
        //创建当前时间对象
        Date time = c.getTime();
        //调用时间格式,获取当前时间
        String nowtime = dateTimeformater.format(time);
        //获取15分钟之前的时间
        c.add(Calendar.MINUTE, -15);// 15分钟之前的时间
        Date beforeD = c.getTime();
        String before15 = dateTimeformater.format(beforeD);

        Map<String, String> map = new HashMap<String, String>();
        map.put("before15", before15);
        map.put("nowtime", nowtime);
        return map;
    }
    /**
     * 得到现在时间
     *得到30min之前的时间
     * @return 字符串 yyyy-MM-dd HH:mm:ss
     */
    public static Map getRec30min() {
        //创建时间对象
        Calendar c1 = Calendar.getInstance();
        //创建当前时间对象
        Date time1 = c1.getTime();
        //获取当前时间
        String nowtime = dateTimeformater.format(time1);
        //获取30分钟之前的时间
        c1.add(Calendar.MINUTE, -30);// 30分钟之前的时间
        Date beforeD = c1.getTime();
        String before30 = dateTimeformater.format(beforeD);
        Map<String, String> map = new HashMap<String, String>();
        map.put("before30", before30);
        map.put("nowtime", nowtime);
        return map;
    }
    /**
     * 得到现在时间
     *得到60min之前的时间
     * @return 字符串 yyyy-MM-dd HH:mm:ss
     */
    public static Map getRec60min() {
        //创建时间对象
        Calendar c2 = Calendar.getInstance();
        //创建当前时间对象
        Date time2 = c2.getTime();
        //获取当前时间
        String nowtime = dateTimeformater.format(time2);
        //获取一小时之前的时间
        c2.add(Calendar.MINUTE, -60);// 1小时之前的时间
        Date beforeD = c2.getTime();
        String before60 =dateTimeformater.format(beforeD);
        Map<String, String> map = new HashMap<String, String>();
        map.put("before60", before60);
        map.put("nowtime", nowtime);
        return map;
    }
    /**
     * 得到现在时间
     *得到多少分钟之前的时间
     * @return 字符串 yyyy-MM-dd HH:mm:ss
     */
    public static Map getRecmin(int minNum) {
        //创建时间对象
        Calendar c2 = Calendar.getInstance();
        //创建当前时间对象
        Date time2 = c2.getTime();
        //获取当前时间
        String nowtime = dateTimeformater.format(time2);
        //获取一小时之前的时间
        c2.add(Calendar.MINUTE, -minNum);// 多少分钟之前的时间
        Date beforeD = c2.getTime();
        String beforemin =dateTimeformater.format(beforeD);
        Map<String, String> map = new HashMap<String, String>();
        map.put("before60", beforemin);
        map.put("nowtime", nowtime);
        return map;
    }
    /**
     * 得到现在时间
     *通过前台参数选择,得到几天之前的时间
     * @return 字符串 yyyy-MM-dd HH:mm:ss
     */
    public static Map getRecday(int dayNum){
        //创建时间对象
        Calendar c3 = Calendar.getInstance();
        //创建当前时间对象
        Date time3 = c3.getTime();
        //获取当前时间
        String nowtime = dateTimeformater.format(time3);
        //获取一周之前的时间
        c3.add(Calendar.DATE, -dayNum);// 几天之前的时间
        Date beforeD = c3.getTime();
        String beforeDaynum = dateTimeformater.format(beforeD);
        Map<String, String> map = new HashMap<String, String>();
        map.put("beforeDaynum", beforeDaynum);
        map.put("nowtime", nowtime);
        return map;
    }
    /**
     * 得到现在时间
     *得到几周之前的时间
     * @return 字符串 yyyy-MM-dd HH:mm:ss
     */
    public static Map getRecweek(int weeknum) {
        //创建时间对象
        Calendar c3 = Calendar.getInstance();
        //创建当前时间对象
        Date time3 = c3.getTime();
        //获取当前时间
        String nowtime = dateTimeformater.format(time3);
        //获取一周之前的时间
        c3.add(Calendar.DATE, -weeknum);// 几周之前的时间
        Date beforeD = c3.getTime();
        String beforeWeeknum = dateTimeformater.format(beforeD);
        Map<String, String> map = new HashMap<String, String>();
        map.put("beforeweeknum", beforeWeeknum);
        map.put("nowtime", nowtime);
        return map;
    }
    /**
     * 得到现在时间
     *通过前台参数选择,得到几月之前的时间
     * @return 字符串 yyyy-MM-dd
     */
    public static Map getRecmonth(int monthNum) {
        //创建时间对象
        Calendar c4 = Calendar.getInstance();
        //创建当前时间对象
        Date time4 = c4.getTime();
        //获取当前时间
        String nowtime4 = dateTimeformater.format(time4);
        //获取一个月之前的时间
        c4.add(Calendar.MONTH, -monthNum);// 几月之前的时间
        Date beforeD = c4.getTime();
        String beforeMonth = dateTimeformater.format(beforeD);
        Map<String, String> map = new HashMap<String, String>();
        map.put("beforeMonth", beforeMonth);
        map.put("nowtime", nowtime4);
        return map;
    }
    /**
     * 得到现在时间
     *通过前台参数选择,得到几年之前的时间
     * @return 字符串 yyyy-MM-dd
     */
    public static Map getRecyear(int yearNum) {
        //创建时间对象
        Calendar c5 = Calendar.getInstance();
        //创建当前时间对象
        Date time5 = c5.getTime();
        //获取当前时间
        String nowtime = dateTimeformater.format(time5);
        //获取一年之前的时间
        c5.add(Calendar.YEAR,-yearNum);// 几年之前的时间
        Date beforeD = c5.getTime();
        String beforeyear = dateTimeformater.format(beforeD);

        Map<String, String> map = new HashMap<String, String>();
        map.put("beforeyear", beforeyear);
        map.put("nowtime", nowtime);
        return map;
    }
    public static void main(String args[]){

        Map stringToday = getRecyear(2);
        System.out.println(stringToday);
    }

}

PS:如有不全,可参考 这位大佬https://blog.csdn.net/xm393392625/article/details/91983813

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值