|
|
@ -1,12 +1,17 @@ |
|
|
|
package com.palnet.comn.utils; |
|
|
|
package com.palnet.comn.utils; |
|
|
|
|
|
|
|
|
|
|
|
import java.text.SimpleDateFormat; |
|
|
|
import java.text.SimpleDateFormat; |
|
|
|
|
|
|
|
import java.time.Instant; |
|
|
|
import java.time.LocalDateTime; |
|
|
|
import java.time.LocalDateTime; |
|
|
|
|
|
|
|
import java.time.ZoneId; |
|
|
|
import java.time.format.DateTimeFormatter; |
|
|
|
import java.time.format.DateTimeFormatter; |
|
|
|
import java.time.format.DateTimeFormatterBuilder; |
|
|
|
import java.time.format.DateTimeFormatterBuilder; |
|
|
|
import java.time.temporal.ChronoField; |
|
|
|
import java.time.temporal.ChronoField; |
|
|
|
import java.util.Date; |
|
|
|
import java.util.Date; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Slf4j |
|
|
|
public class DateUtils { |
|
|
|
public class DateUtils { |
|
|
|
|
|
|
|
|
|
|
|
public static String getCurrentTime(){ |
|
|
|
public static String getCurrentTime(){ |
|
|
@ -14,56 +19,71 @@ public class DateUtils { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public static String stringToFormat(String str) { |
|
|
|
public static String stringToFormat(String str) { |
|
|
|
Date date = stringToDatetime(str); |
|
|
|
Instant date = stringToDatetime(str); |
|
|
|
|
|
|
|
|
|
|
|
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date); |
|
|
|
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public static Date stringToDatetime(String date) { |
|
|
|
public static Instant stringToDatetime(String date) { |
|
|
|
|
|
|
|
|
|
|
|
SimpleDateFormat transFormat = new SimpleDateFormat("yyyyMMddHHmmss"); |
|
|
|
SimpleDateFormat transFormat = new SimpleDateFormat("yyyyMMddHHmmss"); |
|
|
|
Date result = null; |
|
|
|
Date dateObject = null; |
|
|
|
try { |
|
|
|
try { |
|
|
|
if(date.length() == 14) { |
|
|
|
if(date.length() == 14) { |
|
|
|
result = transFormat.parse(date); |
|
|
|
dateObject = transFormat.parse(date); |
|
|
|
} |
|
|
|
} |
|
|
|
}catch(Exception e) { |
|
|
|
}catch(Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Instant result = dateObject.toInstant(); |
|
|
|
|
|
|
|
|
|
|
|
return result; |
|
|
|
return result; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public static Date stringToDate(String date) { |
|
|
|
public static Instant stringToDate(String date) { |
|
|
|
SimpleDateFormat transFormat = new SimpleDateFormat("yyyy-MM-dd"); |
|
|
|
SimpleDateFormat transFormat = new SimpleDateFormat("yyyy-MM-dd"); |
|
|
|
SimpleDateFormat transFormat2 = new SimpleDateFormat("yyyyMMdd"); |
|
|
|
SimpleDateFormat transFormat2 = new SimpleDateFormat("yyyyMMdd"); |
|
|
|
Date result = null; |
|
|
|
Date dateObject = null; |
|
|
|
try { |
|
|
|
try { |
|
|
|
if(date.length() == 10) { |
|
|
|
if(date.length() == 10) { |
|
|
|
result = transFormat.parse(date); |
|
|
|
dateObject = transFormat.parse(date); |
|
|
|
}else if(date.length() == 8) { |
|
|
|
}else if(date.length() == 8) { |
|
|
|
result = transFormat2.parse(date); |
|
|
|
dateObject = transFormat2.parse(date); |
|
|
|
} |
|
|
|
} |
|
|
|
}catch(Exception e) { |
|
|
|
}catch(Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Instant result = dateObject.toInstant(); |
|
|
|
|
|
|
|
|
|
|
|
return result; |
|
|
|
return result; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public static LocalDateTime stringToLocalDateTime(String date) { |
|
|
|
public static Instant stringToInstant(String date) { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
log.error("date -> {}", date); |
|
|
|
|
|
|
|
|
|
|
|
DateTimeFormatter transFormat = DateTimeFormatter.ofPattern("yyyyMMddHHmmss"); |
|
|
|
DateTimeFormatter formatter; |
|
|
|
LocalDateTime localDateTime = LocalDateTime.parse(date , transFormat); |
|
|
|
|
|
|
|
|
|
|
|
if(date.length() == 10) formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); |
|
|
|
|
|
|
|
else formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
LocalDateTime localDateTime = LocalDateTime.parse(date, formatter); |
|
|
|
|
|
|
|
|
|
|
|
return localDateTime; |
|
|
|
return localDateTime.atZone(ZoneId.of("UTC")).toInstant(); |
|
|
|
|
|
|
|
} catch (Exception e){ |
|
|
|
|
|
|
|
e.printStackTrace(); |
|
|
|
|
|
|
|
return null; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public static LocalDateTime stringToLocalDate(String date) { |
|
|
|
public static Instant stringToLocalDate(String date) { |
|
|
|
DateTimeFormatter transFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd"); |
|
|
|
DateTimeFormatter transFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd"); |
|
|
|
|
|
|
|
|
|
|
|
DateTimeFormatter DATEFORMATTER = new DateTimeFormatterBuilder().append(transFormat) |
|
|
|
DateTimeFormatter DATEFORMATTER = new DateTimeFormatterBuilder().append(transFormat) |
|
|
@ -72,10 +92,9 @@ public class DateUtils { |
|
|
|
.parseDefaulting(ChronoField.SECOND_OF_MINUTE, 0) |
|
|
|
.parseDefaulting(ChronoField.SECOND_OF_MINUTE, 0) |
|
|
|
.toFormatter(); |
|
|
|
.toFormatter(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
LocalDateTime localDateTime = LocalDateTime.parse(date , DATEFORMATTER); |
|
|
|
LocalDateTime localDateTime = LocalDateTime.parse(date , DATEFORMATTER); |
|
|
|
|
|
|
|
|
|
|
|
return localDateTime; |
|
|
|
return localDateTime.atZone(ZoneId.of("UTC")).toInstant(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -92,10 +111,10 @@ public class DateUtils { |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public static long diffMinute(Date firstDate , Date secondDate) { |
|
|
|
public static long diffMinute(Instant firstDate , Instant secondDate) { |
|
|
|
|
|
|
|
|
|
|
|
long diffDate = secondDate.getTime() - firstDate.getTime(); |
|
|
|
long diffDate = secondDate.getEpochSecond() - firstDate.getEpochSecond(); |
|
|
|
long diffTime = diffDate / (1000 * 60); |
|
|
|
long diffTime = diffDate / (60); |
|
|
|
|
|
|
|
|
|
|
|
return diffTime; |
|
|
|
return diffTime; |
|
|
|
|
|
|
|
|
|
|
@ -103,6 +122,8 @@ public class DateUtils { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// public static void main(String[] args) {
|
|
|
|
// public static void main(String[] args) {
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// Date firstDate = stringToDate("20210630142014");
|
|
|
|
// Date firstDate = stringToDate("20210630142014");
|
|
|
|