Browse Source

Socket, WebSocket Instant 변경추가

pull/2/head
lkd9125 1 year ago
parent
commit
4af4af42f7
  1. 6
      pav-server/src/main/java/com/palnet/comn/utils/DateUtils.java
  2. 69
      pav-socket/src/main/java/com/palnet/comn/utils/DateUtils.java
  3. 67
      pav-websocket/src/main/java/com/palnet/comn/utils/DateUtils.java
  4. 5
      pav-websocket/src/main/java/com/palnet/process/scheduler/GpHistoryScheduler.java

6
pav-server/src/main/java/com/palnet/comn/utils/DateUtils.java

@ -4,18 +4,12 @@ import lombok.extern.slf4j.Slf4j;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.Instant; import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.ZoneId; 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.ArrayList;
import java.util.Collections;
import java.util.Date; import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Slf4j @Slf4j
public class DateUtils { public class DateUtils {

69
pav-socket/src/main/java/com/palnet/comn/utils/DateUtils.java

@ -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) {
DateTimeFormatter transFormat = DateTimeFormatter.ofPattern("yyyyMMddHHmmss"); log.error("date -> {}", date);
LocalDateTime localDateTime = LocalDateTime.parse(date , transFormat);
DateTimeFormatter formatter;
return localDateTime;
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.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)
@ -71,11 +91,10 @@ public class DateUtils {
.parseDefaulting(ChronoField.MINUTE_OF_HOUR, 0) .parseDefaulting(ChronoField.MINUTE_OF_HOUR, 0)
.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,14 +111,16 @@ 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 diffTime = diffDate / (1000 * 60);
long diffDate = secondDate.getEpochSecond() - firstDate.getEpochSecond();
long diffTime = diffDate / (60);
return diffTime; return diffTime;
} }
@ -150,4 +171,4 @@ public class DateUtils {
//// } //// }
// //
// } // }
} }

67
pav-websocket/src/main/java/com/palnet/comn/utils/DateUtils.java

@ -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) {
DateTimeFormatter transFormat = DateTimeFormatter.ofPattern("yyyyMMddHHmmss"); log.error("date -> {}", date);
LocalDateTime localDateTime = LocalDateTime.parse(date , transFormat);
DateTimeFormatter formatter;
return localDateTime;
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.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)
@ -71,11 +91,10 @@ public class DateUtils {
.parseDefaulting(ChronoField.MINUTE_OF_HOUR, 0) .parseDefaulting(ChronoField.MINUTE_OF_HOUR, 0)
.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,14 +111,16 @@ 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 diffTime = diffDate / (1000 * 60);
long diffDate = secondDate.getEpochSecond() - firstDate.getEpochSecond();
long diffTime = diffDate / (60);
return diffTime; return diffTime;
} }

5
pav-websocket/src/main/java/com/palnet/process/scheduler/GpHistoryScheduler.java

@ -7,6 +7,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled; import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.time.Instant;
import java.util.Date; import java.util.Date;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
@ -30,8 +31,8 @@ public class GpHistoryScheduler {
// Key 의 존재하는 데이터는 마지막 서버수신 History Data // Key 의 존재하는 데이터는 마지막 서버수신 History Data
if(Objects.nonNull(allHistory)) { if(Objects.nonNull(allHistory)) {
allHistory.forEach((k, v) -> { allHistory.forEach((k, v) -> {
Date serverRcvDt = DateUtils.stringToDatetime(v.getServerRcvDt()); Instant serverRcvDt = DateUtils.stringToDatetime(v.getServerRcvDt());
long diffSecond = DateUtils.diffSecond(serverRcvDt, new Date()); long diffSecond = DateUtils.diffMinute(serverRcvDt, Instant.now());
if(diffSecond > timeLimit) { if(diffSecond > timeLimit) {
gpHistoryShareContext.removeHistory(k); gpHistoryShareContext.removeHistory(k);

Loading…
Cancel
Save