java 日期类封装_java之封装日期工具类DateUtils

整合日期工具类DateUtils

dateUtils日期工具类封装-各类格式方法

pom文件引入

cn.hutool

hutool-all

5.3.5

封装的具体格式

package com.webui.utils;

import cn.hutool.core.date.DatePattern;

import cn.hutool.core.date.DateTime;

import cn.hutool.core.date.DateUnit;

import cn.hutool.core.date.DateUtil;

import java.util.Date;

/**

* 日期工具类

*

* @author czy

* @date 2020年08月03日上午午11:20:58

*/

public class DateUtils extends DateUtil {

/**

* 例:2019

*/

public final static String YYYY = "yyyy";

/**

* 例:2019-10

*/

public final static String YYYY_MM = "yyyy-MM";

/**

* 例:2019-10-01

*/

public final static String YYYY_MM_DD = "yyyy-MM-dd";

/**

* 例:10-10 10:10:10

*/

public final static String MM_DD_HH_MM_SS = "MM-dd HH:mm:ss";

/**

* 例:10:10

*/

public final static String HH_MM = "HH:mm";

/**

* 例:2019-10-10 10:10:10

*/

public final static String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";

/**

* 例:10-10

*/

public final static String MM_DD = "MM-dd";

/**

* 例:10:10:10

*/

public final static String HH_MM_SS = "HH:mm:ss";

/**

* 返回YYYY 为格式的时间字符

*

* @return String

*/

public static String getCurrentYear() {

return DateTime.now().toString(YYYY);

}

/**

* 返回YYYY-MM 为格式的时间字符

*

* @return String

*/

public static String getCurrentYearAndMonth() {

return DateTime.now().toString(YYYY_MM);

}

/**

* 返回YYYY-MM-DD 为格式的时间字符

*

* @return String

*/

public static String getCurrentYearAndMonthAndDate() {

return DateTime.now().toString(YYYY_MM_DD);

}

/**

* 返回YYYY-MM-DD HH:mm:ss 为格式的时间字符

*

* @return String

*/

public static String getCurrentTime() {

return DateTime.now().toString(YYYY_MM_DD_HH_MM_SS);

}

/**

* 返回MM-dd HH:mm:ss 为格式的时间字符

*

* @return String

*/

public static String getCurrentDateAndTime() {

return DateTime.now().toString(MM_DD_HH_MM_SS);

}

/**

* 返回HH:mm 为格式的时间字符

*

* @return String

*/

public static String getCurrentHourAndMinutes() {

return DateTime.now().toString(HH_MM);

}

/**

* 返回HH:mm:ss 为格式的时间字符

*

* @return String

*/

public static String getCurrentHourAndMinutesAndSeconds() {

return DateTime.now().toString(HH_MM_SS);

}

/**

* 返回YYYYMMDDHHmmss 为格式的时间字符

*

* @return String

*/

public static String getTimeMillis() {

return DateTime.now().toString(DatePattern.PURE_DATETIME_MS_PATTERN);

}

/**

* @param date

* @param format

* @return

*/

public static String dateToStr(Date date, String format) {

return new DateTime(date).toString(format);

}

/**

* 返回当前年

*

* @return int

*/

public static int getYear() {

return thisYear();

}

/**

* 返回当前月份

*

* @return int

*/

public static int getMonth() {

return thisMonth();

}

/**

* 返回当天是当月的第几号

*

* @return int

*/

public static int getDay() {

return thisDayOfMonth();

}

/**

* 返回当前小时,24小时制

*

* @return String

*/

public static int getHour() {

return thisHour(true);

}

/**

* 返回当前毫秒数

*

* @return String

*/

public static long getCurrentMillisecond() {

return System.currentTimeMillis();

}

/**

* 获取传入时间之后的多少天

*

* @param date 传入时间

* @param i 加几天

* @return 返回时间格式:yyyy-MM-dd HH:mm:ss

*/

public static String getAfterDay(Date date, int i) {

return offsetDay(date, i).toString();

}

/**

* 获取几天前的时间 时间格式yyyy-MM-dd HH:mm:ss

*

* @param beforeDay

* @return 返回时间格式:yyyy-MM-dd HH:mm:ss

*/

public static String getBeforeDay(Date date, int beforeDay) {

return offsetDay(date, -beforeDay).toString();

}

/**

* 获取传入时间之后多少给小时的时间

*

* @param date 传入时间

* @param i 加几个小时

* @return 返回时间格式:yyyy-MM-dd HH:mm:ss

*/

public static String getAfterHour(Date date, int i) {

return offsetHour(date, i).toString();

}

/**

* 获取传入时间之前多少给小时的时间 时间格式yyyy-MM-dd HH:mm:ss

*

* @param beforeHour

* @return 返回时间格式:yyyy-MM-dd HH:mm:ss

*/

public static String getBeforeHour(Date date, int beforeHour) {

return offsetDay(date, -beforeHour).toString();

}

/**

* 把日期字符串转换为具体日期刊

*

* @param dateString

* @param format 可以是yyyy-MM-dd HH:mm:ss,yyyyMMddHHmmss,yyyy-MM-dd任何需要得到的模式

* @return

*/

public static Date stringToDate(String dateString, String format) {

return parse(dateString, format);

}

/**

* 获取某年最后一天日期,返回时间格式--例:"2019-12-31 23:59:59"

*

* @param date

* @return 返回时间格式--例:"2019-12-31 23:59:59"

*/

public static String getYearLastDay(Date date) {

return endOfYear(date).toString();

}

/**

* 相差时间天数

*

* @param time1

* @param time2

* @return

*/

public static long getBetweenDay(String time1, String time2) {

Date date1 = parse(time1);

Date date2 = parse(time2);

return between(date1, date2, DateUnit.DAY);

}

/**

* 相差时间秒数

*

* @param time1

* @param time2

* @return

*/

public static long getBetweenSecond(String time1, String time2) {

Date date1 = parse(time1);

Date date2 = parse(time2);

return between(date1, date2, DateUnit.SECOND);

}

/**

* 毫秒数转换为"yyyy-MM-dd HH:mm:ss"格式时间

*

* @return String

*/

public static String getTimeForMillisecond(Long millisecond) {

return date(calendar(millisecond)).toString();

}

/**

* 判断 当前时间在开始时间与结束时间之间

*

* @param startTime 开始时间

* @param endTime 结束时间

* @param judgeTime 需要判断的时间

* @return

*/

public static Boolean betweenIsStartAndEnd(String startTime, String endTime, String judgeTime) {

return isIn(parse(judgeTime), parse(startTime), parse(endTime));

}

/**

* 判断 时间1是否大于时间2

*

* @return 计算错误返回0

*/

public static Boolean compareDateTime(String time1, String time2, String format) {

Date date1 = stringToDate(time1, format);

Date date2 = stringToDate(time2, format);

if (date1.getTime() > date2.getTime()) {

return true;

} else {

return false;

}

}

/**

* 计算出开始时间和结束时间的毫秒差,判断是否超过设定的超时时间,返回描述时间和描述信息字符串

*

* @param overrideTime 设定的超时时间

* @param startTime 开始时间

* @param endTime 结束时间

* @return

*/

public static String logTimeout(long overrideTime, long startTime, long endTime) {

long s = endTime - startTime;

return s > overrideTime ? s + "ms,超时" : s + "ms";

}

}

更多测试技术分享、学习资源以及一些其他福利可关注公众号:【Coding测试】获取:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值