import org.apache.commons.lang3.StringUtils;
import org.joda.time.*;
import org.joda.time.format.DateTimeFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* 日期操作工具类,推荐使用joda优化时间操作
*
* @author TaoFadeng
* @version 2.0
* @since 2019年05月29日10:42:44
*/
public class DateUtil {
/**
* yyMMdd 140925
*/
public static final String DATE_PATTERN_yyMMdd = "yyMMdd";
/**
* yyyyMMdd 20190518
*/
public static String DATE_PATTERN_yyyyMMdd = "yyyyMMdd";
/**
* yyyy
*/
public static String DATE_PATTERN_yyyy = "yyyy";
/**
* yyyy-MM-dd 2019-05-18
*/
public static String DATE_PATTERN_yyyy_MM_dd = "yyyy-MM-dd";
/**
* yyyy-MM-dd HH:mm:ss 2019-05-18 20:20:20
*/
public static String DATE_PATTERN_yyyy_MM_dd_HH_MM_ss = "yyyy-MM-dd HH:mm:ss";
/**
* yyyy-MM-dd HH:mm 2019-05-18 20:20
*/
public static String DATE_PATTERN_yyyy_MM_dd_HH_MM = "yyyy-MM-dd HH:mm";
/**
* yyyy-MM-dd_HHmmss_SSS 2019-05-18_20-20-20_123
*/
public static String DATE_PATTERN_yyyy_MM_dd_HHmmss_SSS = "yyyy-MM-dd_HHmmss_SSS";
/**
* yyyyMMddHHmmssS 20190518202020123
*/
public static String DATE_PATTERN_yyyyMMddHHmmssS = "yyyyMMddHHmmssS";
/**
* yyyyMMddHHmmss 2019051820202012
*/
public static String DATE_PATTERN_yyyyMMddHHmmss = "yyyyMMddHHmmss";
/**
* 一天的开始时间点 00:00:00
*/
public static String START_TIME = " 00:00:00";
/**
* 一天的结束时间点 23:59:59
*/
public static String END_TIME = " 23:59:59";
/**
* 目标日期增加或减少n天
* 年月日时分秒等增加查阅{@link DateTime}内的plus和minus开头的方法
*
* @param date 目标日期
* @param n 增加(正数)或减少(负数)的天数
* @return 增加或减少了n天的时间
*/
public static Date calDate(Date date, int n) {
CheckFlow.start(ErrorCode.ILLEGAL_PARAM).isNotNull(date);
return new DateTime(date).plusDays(n).toDate();
}
/**
* 目标日期增加或减少n月
* 年月日时分秒等增加查阅{@link DateTime}内的plus和minus开头的方法
*
* @param date 目标日期
* @param n 增加(正数)或减少(负数)的月数
* @return 增加或减少了n月的时间
*/
public static Date calMonth(Date date, int n) {
CheckFlow.start(ErrorCode.ILLEGAL_PARAM).isNotNull(date);
return new DateTime(date).plusMonths(n).toDate();
}
/**
* 目标日期下一天的起始时间
*
* @param date 目标日期
* @return 目标日期下一天的起始
日期操作工具类,推荐使用joda优化时间操作-DateUtil
于 2021-03-01 16:35:22 首次发布
本文推荐使用joda-Time库进行日期操作,它提供了强大的日期处理功能,可以有效优化Java中日期操作的效率和便捷性。
摘要由CSDN通过智能技术生成