|
@ -6,8 +6,6 @@ import org.springframework.util.StringUtils;
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
import java.sql.Time;
|
|
import java.sql.Time;
|
|
import java.sql.Timestamp;
|
|
import java.sql.Timestamp;
|
|
import java.text.ParseException;
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
|
import java.time.*;
|
|
import java.time.*;
|
|
import java.time.format.DateTimeFormatter;
|
|
import java.time.format.DateTimeFormatter;
|
|
import java.time.temporal.ChronoUnit;
|
|
import java.time.temporal.ChronoUnit;
|
|
@ -129,31 +127,12 @@ public class DateUtil {
|
|
return ymd != null && ymd.length() == "yyyy-MM-dd".length() ? ymd.substring(0, 4) : null;
|
|
return ymd != null && ymd.length() == "yyyy-MM-dd".length() ? ymd.substring(0, 4) : null;
|
|
}
|
|
}
|
|
|
|
|
|
public static String utcToDate(String utcTime, String format) {
|
|
|
|
SimpleDateFormat utcSdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
|
|
|
|
SimpleDateFormat newSdf = new SimpleDateFormat(format);
|
|
|
|
String date = null;
|
|
|
|
|
|
|
|
try {
|
|
|
|
if (!org.apache.commons.lang3.StringUtils.isEmpty(utcTime)) {
|
|
|
|
date = newSdf.format(utcSdf.parse(utcTime));
|
|
|
|
}
|
|
|
|
} catch (ParseException var6) {
|
|
|
|
var6.printStackTrace();
|
|
|
|
}
|
|
|
|
|
|
|
|
return date;
|
|
|
|
}
|
|
|
|
|
|
|
|
public static String getCurrentString(String pattern) {
|
|
public static String getCurrentString(String pattern) {
|
|
SimpleDateFormat f = new SimpleDateFormat(pattern);
|
|
|
|
return f.format(Calendar.getInstance(TimeZone.getDefault()).getTime());
|
|
|
|
|
|
return DateTimeFormatter.ofPattern(pattern).format(dateToLocalDateTime(new Date()));
|
|
}
|
|
}
|
|
|
|
|
|
public static String utcToDate(Date date) {
|
|
public static String utcToDate(Date date) {
|
|
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
|
|
|
|
String utcDate = sdf1.format(date);
|
|
|
|
return utcDate;
|
|
|
|
|
|
return DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss'Z'").format(dateToLocalDateTime(date));
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@ -207,9 +186,6 @@ public class DateUtil {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 将短时间格式字符串转换为时间
|
|
* 将短时间格式字符串转换为时间
|
|
*
|
|
|
|
* @param strDate
|
|
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static Date strToDate(String strDate, String format) {
|
|
public static Date strToDate(String strDate, String format) {
|
|
if (StringUtils.isEmpty(strDate)) {
|
|
if (StringUtils.isEmpty(strDate)) {
|
|
@ -222,9 +198,6 @@ public class DateUtil {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 将短时间格式字符串转换为时间
|
|
* 将短时间格式字符串转换为时间
|
|
*
|
|
|
|
* @param strDate
|
|
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static Date strToDateTime(String strDate, String format) {
|
|
public static Date strToDateTime(String strDate, String format) {
|
|
if (StringUtils.isEmpty(strDate)) {
|
|
if (StringUtils.isEmpty(strDate)) {
|
|
@ -319,8 +292,6 @@ public class DateUtil {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 获取时间 小时:分;秒 HH:mm:ss
|
|
* 获取时间 小时:分;秒 HH:mm:ss
|
|
*
|
|
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static String getTimeShort() {
|
|
public static String getTimeShort() {
|
|
Date currentTime = new Date();
|
|
Date currentTime = new Date();
|
|
@ -329,9 +300,6 @@ public class DateUtil {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 将长时间格式字符串转换为时间 yyyy-MM-dd HH:mm:ss
|
|
* 将长时间格式字符串转换为时间 yyyy-MM-dd HH:mm:ss
|
|
*
|
|
|
|
* @param strDate
|
|
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static Date strToDateLong(String strDate) {
|
|
public static Date strToDateLong(String strDate) {
|
|
if (StringUtils.isEmpty(strDate)) {
|
|
if (StringUtils.isEmpty(strDate)) {
|
|
@ -343,9 +311,6 @@ public class DateUtil {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 将长时间格式字符串转换为时间 yyyyMMdd HH:mm:ss
|
|
* 将长时间格式字符串转换为时间 yyyyMMdd HH:mm:ss
|
|
*
|
|
|
|
* @param strDate
|
|
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static Date strToYmdDateLong(String strDate) {
|
|
public static Date strToYmdDateLong(String strDate) {
|
|
if (StringUtils.isEmpty(strDate)) {
|
|
if (StringUtils.isEmpty(strDate)) {
|
|
@ -363,9 +328,6 @@ public class DateUtil {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 将长时间格式时间转换为字符串 yyyy-MM-dd HH:mm:ss
|
|
* 将长时间格式时间转换为字符串 yyyy-MM-dd HH:mm:ss
|
|
*
|
|
|
|
* @param dateDate
|
|
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static String dateToStrLong(Date dateDate) {
|
|
public static String dateToStrLong(Date dateDate) {
|
|
if (dateDate == null) {
|
|
if (dateDate == null) {
|
|
@ -376,9 +338,6 @@ public class DateUtil {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 将长时间格式时间转换为字符串 yyyy-MM-dd HH:mm:ss
|
|
* 将长时间格式时间转换为字符串 yyyy-MM-dd HH:mm:ss
|
|
*
|
|
|
|
* @param dateDate
|
|
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static String dateToStrFormatLong(java.util.Date dateDate) {
|
|
public static String dateToStrFormatLong(java.util.Date dateDate) {
|
|
if (dateDate == null) {
|
|
if (dateDate == null) {
|
|
@ -394,9 +353,6 @@ public class DateUtil {
|
|
}
|
|
}
|
|
/**
|
|
/**
|
|
* 将长时间格式时间转换为字符串 YYYYMMDD
|
|
* 将长时间格式时间转换为字符串 YYYYMMDD
|
|
*
|
|
|
|
* @param dateDate
|
|
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static String dateToStrFormatShort(java.util.Date dateDate) {
|
|
public static String dateToStrFormatShort(java.util.Date dateDate) {
|
|
if (dateDate == null) {
|
|
if (dateDate == null) {
|
|
@ -407,9 +363,6 @@ public class DateUtil {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 将长时间格式时间转换为字符串 yyyyMMdd
|
|
* 将长时间格式时间转换为字符串 yyyyMMdd
|
|
*
|
|
|
|
* @param dateDate
|
|
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static String dateToStrShort(java.util.Date dateDate) {
|
|
public static String dateToStrShort(java.util.Date dateDate) {
|
|
if (dateDate == null) {
|
|
if (dateDate == null) {
|
|
@ -439,8 +392,6 @@ public class DateUtil {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 得到现在时间
|
|
* 得到现在时间
|
|
*
|
|
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static Date getNow() {
|
|
public static Date getNow() {
|
|
Date currentTime = new Date();
|
|
Date currentTime = new Date();
|
|
@ -449,9 +400,6 @@ public class DateUtil {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 提取一个月中的最后一天
|
|
* 提取一个月中的最后一天
|
|
*
|
|
|
|
* @param day
|
|
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static Date getLastDate(long day) {
|
|
public static Date getLastDate(long day) {
|
|
Date date = new Date();
|
|
Date date = new Date();
|
|
@ -480,8 +428,6 @@ public class DateUtil {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 得到现在分钟
|
|
* 得到现在分钟
|
|
*
|
|
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static String getTime() {
|
|
public static String getTime() {
|
|
Date currentTime = new Date();
|
|
Date currentTime = new Date();
|
|
@ -493,7 +439,6 @@ public class DateUtil {
|
|
*
|
|
*
|
|
* @param sformat
|
|
* @param sformat
|
|
* yyyyMMddhhmmss
|
|
* yyyyMMddhhmmss
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static String getUserDate(String sformat) {
|
|
public static String getUserDate(String sformat) {
|
|
Date currentTime = new Date();
|
|
Date currentTime = new Date();
|
|
@ -527,6 +472,7 @@ public class DateUtil {
|
|
LocalDateTime localDateTime = dateToLocalDateTime(date).plusDays(days);
|
|
LocalDateTime localDateTime = dateToLocalDateTime(date).plusDays(days);
|
|
day = Date.from(localDateTime.atZone(zone).toInstant());
|
|
day = Date.from(localDateTime.atZone(zone).toInstant());
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
return day;
|
|
return day;
|
|
}
|
|
}
|
|
@ -619,7 +565,6 @@ public class DateUtil {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 获取本月第一天
|
|
* 获取本月第一天
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static String getCurMonthFirstDayShort(){
|
|
public static String getCurMonthFirstDayShort(){
|
|
return dateFormatter.format(LocalDate.now().withDayOfMonth(1));
|
|
return dateFormatter.format(LocalDate.now().withDayOfMonth(1));
|
|
@ -628,9 +573,6 @@ public class DateUtil {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 判断是否润年
|
|
* 判断是否润年
|
|
*
|
|
|
|
* @param ddate
|
|
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static boolean isLeapYear(String ddate) {
|
|
public static boolean isLeapYear(String ddate) {
|
|
/**
|
|
/**
|
|
@ -643,9 +585,6 @@ public class DateUtil {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 返回美国时间格式 26 Apr 2006
|
|
* 返回美国时间格式 26 Apr 2006
|
|
*
|
|
|
|
* @param str
|
|
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static String getEDate(String str) {
|
|
public static String getEDate(String str) {
|
|
Date strtodate = strToDate(str,YYYY_MM_DD);
|
|
Date strtodate = strToDate(str,YYYY_MM_DD);
|
|
@ -656,9 +595,6 @@ public class DateUtil {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 获取一个月的最后一天
|
|
* 获取一个月的最后一天
|
|
*
|
|
|
|
* @param dat
|
|
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static String getEndDateOfMonth(String dat) {// yyyy-MM-dd
|
|
public static String getEndDateOfMonth(String dat) {// yyyy-MM-dd
|
|
String str = dat.substring(0, 8);
|
|
String str = dat.substring(0, 8);
|
|
@ -681,8 +617,6 @@ public class DateUtil {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 产生周序列,即得到当前时间所在的年度是第几周
|
|
* 产生周序列,即得到当前时间所在的年度是第几周
|
|
*
|
|
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static String getSeqWeek() {
|
|
public static String getSeqWeek() {
|
|
LocalDate now = LocalDate.now();
|
|
LocalDate now = LocalDate.now();
|
|
@ -696,43 +630,38 @@ public class DateUtil {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 获得一个日期所在的周的星期几的日期,如要找出2002年2月3日所在周的星期一是几号
|
|
* 获得一个日期所在的周的星期几的日期,如要找出2002年2月3日所在周的星期一是几号
|
|
*
|
|
|
|
* @param sdate
|
|
|
|
* @param num
|
|
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static String getWeek(String sdate, String num) {
|
|
public static String getWeek(String sdate, String num) {
|
|
// 再转换为时间
|
|
// 再转换为时间
|
|
LocalDate localDate = LocalDate.parse(sdate,dateFormatter);
|
|
LocalDate localDate = LocalDate.parse(sdate,dateFormatter);
|
|
if (num.equals("1")){ // 返回星期一所在的日期
|
|
|
|
localDate.with(WeekFields.ISO.dayOfWeek(),DayOfWeek.MONDAY.getValue());
|
|
|
|
}
|
|
|
|
else if (num.equals("2")){ // 返回星期二所在的日期
|
|
|
|
localDate.with(WeekFields.ISO.dayOfWeek(),DayOfWeek.TUESDAY.getValue());
|
|
|
|
}
|
|
|
|
else if (num.equals("3")){ // 返回星期三所在的日期
|
|
|
|
localDate.with(WeekFields.ISO.dayOfWeek(),DayOfWeek.WEDNESDAY.getValue());
|
|
|
|
}
|
|
|
|
else if (num.equals("4")){ // 返回星期四所在的日期
|
|
|
|
localDate.with(WeekFields.ISO.dayOfWeek(),DayOfWeek.THURSDAY.getValue());
|
|
|
|
}
|
|
|
|
else if (num.equals("5")){ // 返回星期五所在的日期
|
|
|
|
localDate.with(WeekFields.ISO.dayOfWeek(),DayOfWeek.FRIDAY.getValue());
|
|
|
|
}
|
|
|
|
else if (num.equals("6")){ // 返回星期六所在的日期
|
|
|
|
localDate.with(WeekFields.ISO.dayOfWeek(),DayOfWeek.SATURDAY.getValue());
|
|
|
|
}
|
|
|
|
else if (num.equals("0")){ // 返回星期日所在的日期
|
|
|
|
localDate.with(WeekFields.ISO.dayOfWeek(),DayOfWeek.SUNDAY.getValue());
|
|
|
|
|
|
switch (num) {
|
|
|
|
case "1": // 返回星期一所在的日期
|
|
|
|
localDate.with(WeekFields.ISO.dayOfWeek(), DayOfWeek.MONDAY.getValue());
|
|
|
|
break;
|
|
|
|
case "2": // 返回星期二所在的日期
|
|
|
|
localDate.with(WeekFields.ISO.dayOfWeek(), DayOfWeek.TUESDAY.getValue());
|
|
|
|
break;
|
|
|
|
case "3": // 返回星期三所在的日期
|
|
|
|
localDate.with(WeekFields.ISO.dayOfWeek(), DayOfWeek.WEDNESDAY.getValue());
|
|
|
|
break;
|
|
|
|
case "4": // 返回星期四所在的日期
|
|
|
|
localDate.with(WeekFields.ISO.dayOfWeek(), DayOfWeek.THURSDAY.getValue());
|
|
|
|
break;
|
|
|
|
case "5": // 返回星期五所在的日期
|
|
|
|
localDate.with(WeekFields.ISO.dayOfWeek(), DayOfWeek.FRIDAY.getValue());
|
|
|
|
break;
|
|
|
|
case "6": // 返回星期六所在的日期
|
|
|
|
localDate.with(WeekFields.ISO.dayOfWeek(), DayOfWeek.SATURDAY.getValue());
|
|
|
|
break;
|
|
|
|
case "0": // 返回星期日所在的日期
|
|
|
|
localDate.with(WeekFields.ISO.dayOfWeek(), DayOfWeek.SUNDAY.getValue());
|
|
|
|
break;
|
|
}
|
|
}
|
|
return dateFormatter.format(localDate);
|
|
return dateFormatter.format(localDate);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
* 根据一个日期,返回是星期几的字符串
|
|
* 根据一个日期,返回是星期几的字符串
|
|
*
|
|
|
|
* @param sdate
|
|
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static String getWeek(String sdate) {
|
|
public static String getWeek(String sdate) {
|
|
// 再转换为时间
|
|
// 再转换为时间
|
|
@ -743,31 +672,36 @@ public class DateUtil {
|
|
}
|
|
}
|
|
|
|
|
|
public static String getWeekStr(String sdate) {
|
|
public static String getWeekStr(String sdate) {
|
|
String str = "";
|
|
|
|
|
|
String str;
|
|
str = getWeek(sdate);
|
|
str = getWeek(sdate);
|
|
if ("1".equals(str)) {
|
|
|
|
str = "星期日";
|
|
|
|
} else if ("2".equals(str)) {
|
|
|
|
str = "星期一";
|
|
|
|
} else if ("3".equals(str)) {
|
|
|
|
str = "星期二";
|
|
|
|
} else if ("4".equals(str)) {
|
|
|
|
str = "星期三";
|
|
|
|
} else if ("5".equals(str)) {
|
|
|
|
str = "星期四";
|
|
|
|
} else if ("6".equals(str)) {
|
|
|
|
str = "星期五";
|
|
|
|
} else if ("7".equals(str)) {
|
|
|
|
str = "星期六";
|
|
|
|
|
|
switch (str) {
|
|
|
|
case "1":
|
|
|
|
str = "星期日";
|
|
|
|
break;
|
|
|
|
case "2":
|
|
|
|
str = "星期一";
|
|
|
|
break;
|
|
|
|
case "3":
|
|
|
|
str = "星期二";
|
|
|
|
break;
|
|
|
|
case "4":
|
|
|
|
str = "星期三";
|
|
|
|
break;
|
|
|
|
case "5":
|
|
|
|
str = "星期四";
|
|
|
|
break;
|
|
|
|
case "6":
|
|
|
|
str = "星期五";
|
|
|
|
break;
|
|
|
|
case "7":
|
|
|
|
str = "星期六";
|
|
|
|
break;
|
|
}
|
|
}
|
|
return str;
|
|
return str;
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
* 日期比较大小
|
|
* 日期比较大小
|
|
* @param s1
|
|
|
|
* @param s2
|
|
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static long compareDate(Date s1, Date s2) {
|
|
public static long compareDate(Date s1, Date s2) {
|
|
try {
|
|
try {
|
|
@ -780,10 +714,6 @@ public class DateUtil {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 字符串日期比较大小
|
|
* 字符串日期比较大小
|
|
* @param format
|
|
|
|
* @param s1
|
|
|
|
* @param s2
|
|
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static long compareDate(String format, String s1, String s2) {
|
|
public static long compareDate(String format, String s1, String s2) {
|
|
Date s = strToDate(s1,YYYY_MM_DD);
|
|
Date s = strToDate(s1,YYYY_MM_DD);
|
|
@ -798,10 +728,6 @@ public class DateUtil {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 两个时间之间的天数
|
|
* 两个时间之间的天数
|
|
*
|
|
|
|
* @param date1
|
|
|
|
* @param date2
|
|
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static long getDays(String date1, String date2) {
|
|
public static long getDays(String date1, String date2) {
|
|
if(date1 == null || date1.equals("")){
|
|
if(date1 == null || date1.equals("")){
|
|
@ -819,9 +745,6 @@ public class DateUtil {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 返回两个日期相差的天数
|
|
* 返回两个日期相差的天数
|
|
* @param date1
|
|
|
|
* @param date2
|
|
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static long getDays(Date date1, Date date2) {
|
|
public static long getDays(Date date1, Date date2) {
|
|
if (date1 == null || date2 == null){
|
|
if (date1 == null || date2 == null){
|
|
@ -833,9 +756,6 @@ public class DateUtil {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 返回两个日期相差的小时数(保留2位小数)
|
|
* 返回两个日期相差的小时数(保留2位小数)
|
|
* @param date1
|
|
|
|
* @param date2
|
|
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static float getHours(Date date1, Date date2) {
|
|
public static float getHours(Date date1, Date date2) {
|
|
if (date1 == null || date2 == null){
|
|
if (date1 == null || date2 == null){
|
|
@ -851,9 +771,6 @@ public class DateUtil {
|
|
/**
|
|
/**
|
|
* 形成如下的日历 , 根据传入的一个时间返回一个结构 星期日 星期一 星期二 星期三 星期四 星期五 星期六 下面是当月的各个时间
|
|
* 形成如下的日历 , 根据传入的一个时间返回一个结构 星期日 星期一 星期二 星期三 星期四 星期五 星期六 下面是当月的各个时间
|
|
* 此函数返回该日历第一行星期日所在的日期
|
|
* 此函数返回该日历第一行星期日所在的日期
|
|
*
|
|
|
|
* @param sdate
|
|
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static String getNowMonth(String sdate) {
|
|
public static String getNowMonth(String sdate) {
|
|
// 取该时间所在月的一号
|
|
// 取该时间所在月的一号
|
|
@ -883,9 +800,6 @@ public class DateUtil {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 返回一个随机数
|
|
* 返回一个随机数
|
|
*
|
|
|
|
* @param i
|
|
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static String getRandom(int i) {
|
|
public static String getRandom(int i) {
|
|
Random jjj = new Random();
|
|
Random jjj = new Random();
|
|
@ -919,9 +833,6 @@ public class DateUtil {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 字符串转时间
|
|
* 字符串转时间
|
|
* @param str 时间字符串
|
|
|
|
* @param eg 格式
|
|
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static Date stringToDate(String str, String eg) {
|
|
public static Date stringToDate(String str, String eg) {
|
|
return strToDate(str,eg);
|
|
return strToDate(str,eg);
|
|
@ -937,7 +848,6 @@ public class DateUtil {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 获取周一
|
|
* 获取周一
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static String getMondayOfThisWeek() {
|
|
public static String getMondayOfThisWeek() {
|
|
LocalDate localDate = LocalDate.now().with(WeekFields.ISO.getFirstDayOfWeek());
|
|
LocalDate localDate = LocalDate.now().with(WeekFields.ISO.getFirstDayOfWeek());
|
|
@ -946,7 +856,6 @@ public class DateUtil {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 获取某个时间的周一
|
|
* 获取某个时间的周一
|
|
* @returnc
|
|
|
|
*/
|
|
*/
|
|
public static String getMondayOfThisWeek(Date date) {
|
|
public static String getMondayOfThisWeek(Date date) {
|
|
LocalDate localDate = dateToLocalDate(date).with(WeekFields.ISO.getFirstDayOfWeek());
|
|
LocalDate localDate = dateToLocalDate(date).with(WeekFields.ISO.getFirstDayOfWeek());
|
|
@ -975,9 +884,6 @@ public class DateUtil {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 获取某一时间端内的工作天数
|
|
* 获取某一时间端内的工作天数
|
|
* @param start
|
|
|
|
* @param end
|
|
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static long getWorkDays(String start, String end){
|
|
public static long getWorkDays(String start, String end){
|
|
long day = 0;
|
|
long day = 0;
|
|
@ -995,7 +901,6 @@ public class DateUtil {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 获取当月第一天
|
|
* 获取当月第一天
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static String getFristDayOfMonth() {
|
|
public static String getFristDayOfMonth() {
|
|
LocalDate localDate = LocalDate.now().with(TemporalAdjusters.firstDayOfMonth());
|
|
LocalDate localDate = LocalDate.now().with(TemporalAdjusters.firstDayOfMonth());
|
|
@ -1019,8 +924,6 @@ public class DateUtil {
|
|
/**
|
|
/**
|
|
* 计算预产期
|
|
* 计算预产期
|
|
* 末次月经开始日期(第一天),月份+9,日期+7
|
|
* 末次月经开始日期(第一天),月份+9,日期+7
|
|
* @param date
|
|
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static Date getDueDate(Date date){
|
|
public static Date getDueDate(Date date){
|
|
LocalDateTime localDateTime = dateToLocalDateTime(date);
|
|
LocalDateTime localDateTime = dateToLocalDateTime(date);
|
|
@ -1030,9 +933,6 @@ public class DateUtil {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 计算产检时间
|
|
* 计算产检时间
|
|
* @param date
|
|
|
|
* @param day
|
|
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static Date getPrenatalInspectorDate(Date date,Integer day){
|
|
public static Date getPrenatalInspectorDate(Date date,Integer day){
|
|
LocalDateTime localDateTime = dateToLocalDateTime(date);
|
|
LocalDateTime localDateTime = dateToLocalDateTime(date);
|
|
@ -1042,8 +942,6 @@ public class DateUtil {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 将HH:MM格式的字符串转TIME
|
|
* 将HH:MM格式的字符串转TIME
|
|
* @param hhmm
|
|
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static Time hhmmStrToTime(String hhmm){
|
|
public static Time hhmmStrToTime(String hhmm){
|
|
Time time = null;
|
|
Time time = null;
|
|
@ -1059,7 +957,6 @@ public class DateUtil {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 获取当前时间的Timestamp
|
|
* 获取当前时间的Timestamp
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static Timestamp getNowTimestamp(){
|
|
public static Timestamp getNowTimestamp(){
|
|
Date date = new Date();
|
|
Date date = new Date();
|
|
@ -1069,9 +966,6 @@ public class DateUtil {
|
|
|
|
|
|
/**
|
|
/**
|
|
*时间字符串转为 时间戳
|
|
*时间字符串转为 时间戳
|
|
* @param str
|
|
|
|
* @param format
|
|
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static Timestamp toTimestamp(String str, String format) {
|
|
public static Timestamp toTimestamp(String str, String format) {
|
|
|
|
|
|
@ -1088,9 +982,6 @@ public class DateUtil {
|
|
}
|
|
}
|
|
/**
|
|
/**
|
|
*时间字符串转为 时间戳
|
|
*时间字符串转为 时间戳
|
|
* @param str
|
|
|
|
* @param
|
|
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static Timestamp toTimestamp(String str) {
|
|
public static Timestamp toTimestamp(String str) {
|
|
|
|
|
|
@ -1112,9 +1003,6 @@ public class DateUtil {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 日期加减天数
|
|
* 日期加减天数
|
|
* @param date 时间
|
|
|
|
* @param days 天数�?
|
|
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static Date setDateTime(Date date,int days){
|
|
public static Date setDateTime(Date date,int days){
|
|
LocalDateTime localDateTime = dateToLocalDateTime(date).plusDays(days);
|
|
LocalDateTime localDateTime = dateToLocalDateTime(date).plusDays(days);
|
|
@ -1128,7 +1016,6 @@ public class DateUtil {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 获取去年日期
|
|
* 获取去年日期
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static String getLastYear(){
|
|
public static String getLastYear(){
|
|
LocalDateTime localDateTime = LocalDateTime.now().plusYears(-1);
|
|
LocalDateTime localDateTime = LocalDateTime.now().plusYears(-1);
|
|
@ -1137,8 +1024,6 @@ public class DateUtil {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 获取儿童的年龄
|
|
* 获取儿童的年龄
|
|
* @param date
|
|
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static String getChildAge(Date date){
|
|
public static String getChildAge(Date date){
|
|
LocalDate now = LocalDate.now();
|
|
LocalDate now = LocalDate.now();
|
|
@ -1194,7 +1079,6 @@ public class DateUtil {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 获取当月第一天
|
|
* 获取当月第一天
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static String getFristDayOfMonthThisDate(Date date) {
|
|
public static String getFristDayOfMonthThisDate(Date date) {
|
|
LocalDate localDate = dateToLocalDate(date).with(TemporalAdjusters.firstDayOfMonth());
|
|
LocalDate localDate = dateToLocalDate(date).with(TemporalAdjusters.firstDayOfMonth());
|
|
@ -1210,8 +1094,6 @@ public class DateUtil {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 根据日期对象返回星期几
|
|
* 根据日期对象返回星期几
|
|
* @param date
|
|
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static int getWeekByDate(Date date){
|
|
public static int getWeekByDate(Date date){
|
|
LocalDate localDate = dateToLocalDate(date);
|
|
LocalDate localDate = dateToLocalDate(date);
|
|
@ -1220,7 +1102,6 @@ public class DateUtil {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 获取当天0点
|
|
* 获取当天0点
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static Date getDateStart(){
|
|
public static Date getDateStart(){
|
|
LocalDate localDate = LocalDate.now();
|
|
LocalDate localDate = LocalDate.now();
|
|
@ -1231,7 +1112,6 @@ public class DateUtil {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 获取当天23:59:59
|
|
* 获取当天23:59:59
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static Date getDateEnd(){
|
|
public static Date getDateEnd(){
|
|
LocalDate localDate = LocalDate.now();
|
|
LocalDate localDate = LocalDate.now();
|
|
@ -1243,9 +1123,6 @@ public class DateUtil {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 根据身份证的号码算出当前身份证持有者的年龄
|
|
* 根据身份证的号码算出当前身份证持有者的年龄
|
|
*
|
|
|
|
* @param
|
|
|
|
* @throws Exception
|
|
|
|
*/
|
|
*/
|
|
public static int getAgeForIdcard(String idcard) {
|
|
public static int getAgeForIdcard(String idcard) {
|
|
try {
|
|
try {
|
|
@ -1269,7 +1146,7 @@ public class DateUtil {
|
|
LocalDate localDate = LocalDate.of(year,month,day);
|
|
LocalDate localDate = LocalDate.of(year,month,day);
|
|
return localDate.until(LocalDate.now()).getYears();
|
|
return localDate.until(LocalDate.now()).getYears();
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
|
|
|
|
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
return -1;
|
|
return -1;
|
|
}
|
|
}
|
|
@ -1313,19 +1190,11 @@ public class DateUtil {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 判断时间是否在某个区间内
|
|
* 判断时间是否在某个区间内
|
|
* @param time
|
|
|
|
* @param begin
|
|
|
|
* @param end
|
|
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static boolean isInArea(Date time,Date begin,Date end) {
|
|
public static boolean isInArea(Date time,Date begin,Date end) {
|
|
Long beginTime = compareDateTime(time,begin);
|
|
Long beginTime = compareDateTime(time,begin);
|
|
Long endTime = compareDateTime(time, end);
|
|
Long endTime = compareDateTime(time, end);
|
|
if (beginTime > 0 && endTime < 0) {
|
|
|
|
return true;
|
|
|
|
} else {
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
return beginTime > 0 && endTime < 0;
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@ -1333,7 +1202,6 @@ public class DateUtil {
|
|
* @param date1 当前时间
|
|
* @param date1 当前时间
|
|
* @param date2 过去时间
|
|
* @param date2 过去时间
|
|
* @param fliter 0不携带秒 1携带秒
|
|
* @param fliter 0不携带秒 1携带秒
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static String getDifferentTimeInfo(Date date1, Date date2,Integer fliter){
|
|
public static String getDifferentTimeInfo(Date date1, Date date2,Integer fliter){
|
|
if (date1 == null || date2 == null){
|
|
if (date1 == null || date2 == null){
|
|
@ -1382,7 +1250,6 @@ public class DateUtil {
|
|
* 返回 两个时间间隔天数/小时数
|
|
* 返回 两个时间间隔天数/小时数
|
|
* @param date1 当前时间
|
|
* @param date1 当前时间
|
|
* @param date2 过去时间
|
|
* @param date2 过去时间
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static String getDifferentTimeInfo1(Date date1, Date date2){
|
|
public static String getDifferentTimeInfo1(Date date1, Date date2){
|
|
if (date1 == null || date2 == null){
|
|
if (date1 == null || date2 == null){
|
|
@ -1399,7 +1266,7 @@ public class DateUtil {
|
|
long secondFieldDiff = secondsDiff - TimeUnit.MINUTES.toSeconds(minutesDiff);
|
|
long secondFieldDiff = secondsDiff - TimeUnit.MINUTES.toSeconds(minutesDiff);
|
|
if (daysDiff > 0L) {
|
|
if (daysDiff > 0L) {
|
|
result = (String.format("%d天", daysDiff));
|
|
result = (String.format("%d天", daysDiff));
|
|
return result.toString();
|
|
|
|
|
|
return result;
|
|
}
|
|
}
|
|
else if (hourFieldDiff > 0L) {
|
|
else if (hourFieldDiff > 0L) {
|
|
result=String.format("%d小时", hourFieldDiff);
|
|
result=String.format("%d小时", hourFieldDiff);
|
|
@ -1410,12 +1277,9 @@ public class DateUtil {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 1970年1月1日来的 秒转化成时间
|
|
* 1970年1月1日来的 秒转化成时间
|
|
* @param seconds
|
|
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static Date secondTransfor(int seconds){
|
|
public static Date secondTransfor(int seconds){
|
|
LocalDateTime localDateTime = LocalDateTime.of(1970,1,1,0,0,0);
|
|
LocalDateTime localDateTime = LocalDateTime.of(1970,1,1,0,0,0);
|
|
localDateTime.plusSeconds(seconds);
|
|
|
|
return Date.from(localDateTime.plusSeconds(seconds).atZone(zone).toInstant());
|
|
return Date.from(localDateTime.plusSeconds(seconds).atZone(zone).toInstant());
|
|
}
|
|
}
|
|
|
|
|
|
@ -1423,15 +1287,14 @@ public class DateUtil {
|
|
* 获取指定时间和当前时间的距离
|
|
* 获取指定时间和当前时间的距离
|
|
* 几秒前、几分钟前、几小时前、几天前
|
|
* 几秒前、几分钟前、几小时前、几天前
|
|
* @param l1 秒级时间戳
|
|
* @param l1 秒级时间戳
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static String getTimeAgeStr(Long l1){
|
|
public static String getTimeAgeStr(Long l1){
|
|
String timeAgoStr = "";
|
|
|
|
|
|
String timeAgoStr;
|
|
BigDecimal b1 = new BigDecimal(l1);
|
|
BigDecimal b1 = new BigDecimal(l1);
|
|
BigDecimal b2 = new BigDecimal(System.currentTimeMillis()/1000);
|
|
BigDecimal b2 = new BigDecimal(System.currentTimeMillis()/1000);
|
|
BigDecimal subtract = b2.subtract(b1);//秒数
|
|
BigDecimal subtract = b2.subtract(b1);//秒数
|
|
if(subtract.compareTo(new BigDecimal(60))<0){//小于一分钟前
|
|
if(subtract.compareTo(new BigDecimal(60))<0){//小于一分钟前
|
|
timeAgoStr = subtract.toString()+"秒前";
|
|
|
|
|
|
timeAgoStr = subtract +"秒前";
|
|
}else if(subtract.compareTo(new BigDecimal(3600))<0){//小于一小时
|
|
}else if(subtract.compareTo(new BigDecimal(3600))<0){//小于一小时
|
|
timeAgoStr = subtract.divide(new BigDecimal(60),0,BigDecimal.ROUND_HALF_DOWN).toString()+"分钟前";
|
|
timeAgoStr = subtract.divide(new BigDecimal(60),0,BigDecimal.ROUND_HALF_DOWN).toString()+"分钟前";
|
|
}else if(subtract.compareTo(new BigDecimal(86400))<0){//小于一天
|
|
}else if(subtract.compareTo(new BigDecimal(86400))<0){//小于一天
|
|
@ -1446,7 +1309,6 @@ public class DateUtil {
|
|
* 获取指定时间的前后若干时间戳
|
|
* 获取指定时间的前后若干时间戳
|
|
* list[0]前
|
|
* list[0]前
|
|
* list[1]后
|
|
* list[1]后
|
|
* @return
|
|
|
|
*/
|
|
*/
|
|
public static List<String> getTimeByBeforeAndAfterTime(String time,long l){
|
|
public static List<String> getTimeByBeforeAndAfterTime(String time,long l){
|
|
List<String> list = new ArrayList<>();
|
|
List<String> list = new ArrayList<>();
|
|
@ -1515,8 +1377,6 @@ public class DateUtil {
|
|
throw new IllegalArgumentException("The value of an argument is inaccurate.");
|
|
throw new IllegalArgumentException("The value of an argument is inaccurate.");
|
|
}
|
|
}
|
|
|
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat(format);
|
|
|
|
|
|
|
|
return dateToStr(date,format);
|
|
return dateToStr(date,format);
|
|
}
|
|
}
|
|
|
|
|