Date时间工具类 Date字符串互转

Date时间工具类 Date字符串互转

依赖

        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.7</version>
        </dependency>
package com.example.demo.until;

import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
 * @author 
 * @date 
 */
public final class DateUtil {
    private static final Logger logger = LoggerFactory.getLogger(DateUtil.class);
    private DateUtil() {
    }

    /**
     * 日期格式
     **/
    public interface DateFormat {
        String HHMMSS = "HHmmss";
        String HH_MM_SS = "HH:mm:ss";
        String YYYYMMDD = "yyyyMMdd";
        String YYYY_MM_DD = "yyyy-MM-dd";
        String YYYYMMDDHHMMSS = "yyyyMMddHHmmss";
        String YYYYMMDDHHMMSSSSS = "yyyyMMddHHmmssSSS";
        String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";
        String YYMMDDHHMMSS = "yyMMddHHmmss";
    }

    /**
     * 格式化日期 YYYY_MM_DD_HH_MM_SS 格式
     *
     * @param date
     * @return
     */
    public static final String format(Object date) {
        return format(date, DateFormat.YYYY_MM_DD_HH_MM_SS);
    }

    /**
     * 格式化日期
     *
     * @param date
     * @param pattern 不填默认为yyyy-MM-dd HH:mm:ss 格式
     * @return
     */
    public static final String format(Object date, String pattern) {
        if (date == null) {
            return null;
        }
        if (pattern == null) {
            return format(date);
        }
        return new SimpleDateFormat(pattern).format(date);
    }

    /**
     * 获取当前日期格式为yyyy-MM-dd
     *
     * @return
     */
    public static final String getDate() {
        return format(new Date());
    }

    /**
     * 获取日期时间 yyyy-MM-dd HH:mm:ss 格式
     *
     * @return
     */
    public static final String getDateTime() {
        return format(new Date(), DateFormat.YYYY_MM_DD_HH_MM_SS);
    }

    /**
     * 获取日期
     *
     * @param pattern 传入定义格式参数
     * @return
     */
    public static final String getDateTime(String pattern) {
        return format(new Date(), pattern);
    }

    /**
     * 日期计算
     *
     * @param date
     * @param field
     * @param amount
     * @return
     */
    public static final Date addDate(Date date, int field, int amount) {
        if (date == null) {
            return null;
        }
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.add(field, amount);
        return calendar.getTime();
    }

    public static final Date parse(String date, String pattern) {
        if (StringUtils.isNoneBlank(date) && StringUtils.isNoneBlank(pattern)) {
            try {
                return new SimpleDateFormat(pattern).parse(date);
            } catch (ParseException e) {
                logger.error("时间格式转换异常:{}",e.toString());
            }
        }
        return null;
    }

    /**
     * 获取1970年
     *
     * @return
     */
    public static final Date getEarlyTime() {
        Calendar cal = Calendar.getInstance();
        cal.set(2019, Calendar.JANUARY, 1);
        return cal.getTime();
    }

    /**
     * 获取2100年
     *
     * @return
     */
    public static final Date getEndTime() {
        Calendar cal = Calendar.getInstance();
        cal.set(2049, Calendar.DECEMBER, 31);
        return cal.getTime();
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值