From 55334da20cff4dac840c320eda1d0ca53ba27eda Mon Sep 17 00:00:00 2001 From: fwq <582742538@qq.com> Date: 星期一, 23 九月 2024 14:26:36 +0800 Subject: [PATCH] Merge branch 'master-stander' into master-xlk --- src/main/java/com/hx/util/DateUtil.java | 70 +++++++++++++++++++++++++++++++++- 1 files changed, 67 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/hx/util/DateUtil.java b/src/main/java/com/hx/util/DateUtil.java index 4648efa..1ae3c6b 100644 --- a/src/main/java/com/hx/util/DateUtil.java +++ b/src/main/java/com/hx/util/DateUtil.java @@ -1,5 +1,7 @@ package com.hx.util; +import java.math.BigDecimal; +import java.math.RoundingMode; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; @@ -452,6 +454,25 @@ } /** + * 鑾峰彇涓や釜鏃堕棿鐩稿樊鍒嗛挓鏁� + * @param startTime 寮�濮嬫椂闂� + * @param endTime 缁撴潫鏃堕棿 + * @param remainder 浣欐暟杩�1 + * @return 鍒嗛挓 + */ + public static int differMinute(Date startTime, Date endTime,boolean remainder) { + BigDecimal sTime = new BigDecimal(startTime.getTime()); + BigDecimal eTime = new BigDecimal(endTime.getTime()); + eTime = eTime.subtract(sTime).setScale(0,RoundingMode.HALF_UP); + if(remainder){ + eTime = eTime.divide(BigDecimal.valueOf(60000.0)).setScale(0, RoundingMode.UP); + }else{ + eTime = eTime.divide(BigDecimal.valueOf(60000.0)).setScale(0, RoundingMode.DOWN); + } + return eTime.intValue(); + } + + /** * endTime姣攕tartTime澶氱殑澶╂暟 * @param startTime 鏈�灏忔椂闂� * @param endTime 鏈�澶ф椂闂� @@ -573,7 +594,7 @@ /** * 鑾峰彇褰撳墠鏈堢殑缁撴潫鏃堕棿 * @param date 鐐瑰墠鏃堕棿 - * @return 杩斿洖鏃堕棿 鏍煎紡yyyy-MM-dd 23:59:59 + * @return 杩斿洖鏃堕棿 鏍煎紡yyyy-MM-dd 23:59:59999 */ public static Date getMonthEnd(Date date) { Calendar calendar = Calendar.getInstance(); @@ -583,6 +604,21 @@ calendar.set(Calendar.MINUTE, 59); calendar.set(Calendar.SECOND, 59); calendar.set(Calendar.MILLISECOND,999); + return calendar.getTime(); + } + + /** + * 鑾峰彇褰撳墠鏈堢殑缁撴潫鏃堕棿锛屾病鏈夋绉� + * @param date 鐐瑰墠鏃堕棿 + * @return 杩斿洖鏃堕棿 鏍煎紡yyyy-MM-dd 23:59:59 + */ + public static Date getMonthEndNoMillisecond(Date date) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH)); + calendar.set(Calendar.HOUR_OF_DAY, 23); + calendar.set(Calendar.MINUTE, 59); + calendar.set(Calendar.SECOND, 59); return calendar.getTime(); } @@ -622,7 +658,7 @@ /** * 鑾峰彇褰撳墠骞寸殑缁撴潫鏃堕棿 * @param time 鏃堕棿 - * @return 杩斿洖鏃堕棿 鏍煎紡yyyy-MM-dd 23:59:59 + * @return 杩斿洖鏃堕棿 鏍煎紡yyyy-MM-dd 23:59:59999 */ public static Date getYearEnd(Date time) { Calendar calendar = Calendar.getInstance(); @@ -633,6 +669,22 @@ calendar.set(Calendar.MINUTE, 59); calendar.set(Calendar.SECOND, 59); calendar.set(Calendar.MILLISECOND,999); + return calendar.getTime(); + } + + /** + * 鑾峰彇褰撳墠骞寸殑缁撴潫鏃堕棿锛屾病鏈夋绉� + * @param time 鏃堕棿 + * @return 杩斿洖鏃堕棿 鏍煎紡yyyy-MM-dd 23:59:59 + */ + public static Date getYearEndNoMillisecond(Date time) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(time); + calendar.set(Calendar.MONTH, 11); + calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DATE)); + calendar.set(Calendar.HOUR_OF_DAY, 23); + calendar.set(Calendar.MINUTE, 59); + calendar.set(Calendar.SECOND, 59); return calendar.getTime(); } @@ -677,7 +729,7 @@ } /**杩欏ぉ鐨勬渶鍚庢椂闂� - * 鏃ユ湡2000-01-01鍙�2000-01-01 23:59:59 + * 鏃ユ湡2000-01-01鍙�2000-01-01 23:59:59999 */ public static Date dayToEndDate(Date date) { Calendar calendar = Calendar.getInstance(); @@ -689,6 +741,18 @@ return calendar.getTime(); } + /**杩欏ぉ鐨勬渶鍚庢椂闂达紝娌℃湁姣 + * 鏃ユ湡2000-01-01鍙�2000-01-01 23:59:59 + */ + public static Date dayToEndDateNoMillisecond(Date date) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.set(Calendar.HOUR_OF_DAY, 23); + calendar.set(Calendar.MINUTE, 59); + calendar.set(Calendar.SECOND, 59); + return calendar.getTime(); + } + /**鑾峰彇鏈堜唤鐨勫ぉ鏁� * @param date 鏃堕棿 * @return 鏈堜唤鐨勫ぉ鏁� -- Gitblit v1.8.0