From b032fdefdd56399f400aae1732d570bfaff6218e Mon Sep 17 00:00:00 2001 From: lkd9125 Date: Thu, 14 Sep 2023 13:59:29 +0900 Subject: [PATCH 1/2] =?UTF-8?q?PavServer=20instant=EA=B0=9D=EC=B2=B4=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../biz/api/acnt/jwt/service/JwtService.java | 3 ++- .../com/palnet/biz/jpa/entity/ComAuthBas.java | 14 ++++++++------ .../java/com/palnet/biz/jpa/entity/ComCdBas.java | 14 ++++++++------ .../com/palnet/biz/jpa/entity/ComCdLangCtg.java | 14 ++++++++------ .../com/palnet/biz/jpa/entity/ComSiteBas.java | 15 ++++++++------- .../com/palnet/biz/jpa/entity/ComTrmnlBas.java | 14 ++++++++------ .../com/palnet/biz/jpa/entity/FltPlanArcrft.java | 8 +++++--- .../palnet/biz/jpa/entity/FltPlanAreaCoord.java | 4 +++- .../palnet/biz/jpa/entity/PtyCstmrConectHist.java | 8 +++++--- .../com/palnet/biz/jpa/entity/PtySnsLoginRel.java | 14 ++++++++------ 10 files changed, 63 insertions(+), 45 deletions(-) diff --git a/pav-server/src/main/java/com/palnet/biz/api/acnt/jwt/service/JwtService.java b/pav-server/src/main/java/com/palnet/biz/api/acnt/jwt/service/JwtService.java index 66e280f4..5a6739e2 100644 --- a/pav-server/src/main/java/com/palnet/biz/api/acnt/jwt/service/JwtService.java +++ b/pav-server/src/main/java/com/palnet/biz/api/acnt/jwt/service/JwtService.java @@ -1,5 +1,6 @@ package com.palnet.biz.api.acnt.jwt.service; +import java.time.Instant; import java.util.HashMap; import java.util.Map; import java.util.Optional; @@ -171,7 +172,7 @@ public class JwtService { entity.setConectSucesYn(loginYn); entity.setConectErrorCd(errorCode); entity.setConectIp(conectIp); - entity.setConectDt(DateUtils.nowDate()); + entity.setConectDt(Instant.now()); return ptyCstmrConectHistRepository.save(entity); } diff --git a/pav-server/src/main/java/com/palnet/biz/jpa/entity/ComAuthBas.java b/pav-server/src/main/java/com/palnet/biz/jpa/entity/ComAuthBas.java index 8d7ee08a..ebabe5db 100644 --- a/pav-server/src/main/java/com/palnet/biz/jpa/entity/ComAuthBas.java +++ b/pav-server/src/main/java/com/palnet/biz/jpa/entity/ComAuthBas.java @@ -1,6 +1,8 @@ package com.palnet.biz.jpa.entity; import java.io.Serializable; +import java.time.Instant; + import javax.persistence.*; import java.util.Date; @@ -24,7 +26,7 @@ public class ComAuthBas implements Serializable { // @Temporal(TemporalType.TIMESTAMP) @Column(name="CREATE_DT", columnDefinition = "TIMESTAMP") - private Date createDt; + private Instant createDt; @Column(name="CREATE_USER_ID") private String createUserId; @@ -38,7 +40,7 @@ public class ComAuthBas implements Serializable { // @Temporal(TemporalType.TIMESTAMP) @Column(name="UPDATE_DT", columnDefinition = "TIMESTAMP") - private Date updateDt; + private Instant updateDt; @Column(name="UPDATE_USER_ID") private String updateUserId; @@ -65,11 +67,11 @@ public class ComAuthBas implements Serializable { this.authNm = authNm; } - public Date getCreateDt() { + public Instant getCreateDt() { return this.createDt; } - public void setCreateDt(Date createDt) { + public void setCreateDt(Instant createDt) { this.createDt = createDt; } @@ -97,11 +99,11 @@ public class ComAuthBas implements Serializable { this.siteCd = siteCd; } - public Date getUpdateDt() { + public Instant getUpdateDt() { return this.updateDt; } - public void setUpdateDt(Date updateDt) { + public void setUpdateDt(Instant updateDt) { this.updateDt = updateDt; } diff --git a/pav-server/src/main/java/com/palnet/biz/jpa/entity/ComCdBas.java b/pav-server/src/main/java/com/palnet/biz/jpa/entity/ComCdBas.java index dfb24515..4730267f 100644 --- a/pav-server/src/main/java/com/palnet/biz/jpa/entity/ComCdBas.java +++ b/pav-server/src/main/java/com/palnet/biz/jpa/entity/ComCdBas.java @@ -1,6 +1,8 @@ package com.palnet.biz.jpa.entity; import java.io.Serializable; +import java.time.Instant; + import javax.persistence.*; import java.util.Date; @@ -23,7 +25,7 @@ public class ComCdBas implements Serializable { // @Temporal(TemporalType.TIMESTAMP) @Column(name="CREATE_DT", columnDefinition = "TIMESTAMP") - private Date createDt; + private Instant createDt; @Column(name="CREATE_USER_ID") private String createUserId; @@ -33,7 +35,7 @@ public class ComCdBas implements Serializable { // @Temporal(TemporalType.TIMESTAMP) @Column(name="UPDTE_DT", columnDefinition = "TIMESTAMP") - private Date updteDt; + private Instant updteDt; @Column(name="UPDTE_USER_ID") private String updteUserId; @@ -63,11 +65,11 @@ public class ComCdBas implements Serializable { this.addInfoValue = addInfoValue; } - public Date getCreateDt() { + public Instant getCreateDt() { return this.createDt; } - public void setCreateDt(Date createDt) { + public void setCreateDt(Instant createDt) { this.createDt = createDt; } @@ -87,11 +89,11 @@ public class ComCdBas implements Serializable { this.sortOrdr = sortOrdr; } - public Date getUpdteDt() { + public Instant getUpdteDt() { return this.updteDt; } - public void setUpdteDt(Date updteDt) { + public void setUpdteDt(Instant updteDt) { this.updteDt = updteDt; } diff --git a/pav-server/src/main/java/com/palnet/biz/jpa/entity/ComCdLangCtg.java b/pav-server/src/main/java/com/palnet/biz/jpa/entity/ComCdLangCtg.java index 355ce6a9..fdc40de8 100644 --- a/pav-server/src/main/java/com/palnet/biz/jpa/entity/ComCdLangCtg.java +++ b/pav-server/src/main/java/com/palnet/biz/jpa/entity/ComCdLangCtg.java @@ -1,6 +1,8 @@ package com.palnet.biz.jpa.entity; import java.io.Serializable; +import java.time. Instant; + import javax.persistence.*; import java.util.Date; @@ -23,7 +25,7 @@ public class ComCdLangCtg implements Serializable { // @Temporal(TemporalType.TIMESTAMP) @Column(name="CREATE_DT", columnDefinition = "TIMESTAMP") - private Date createDt; + private Instant createDt; @Column(name="CREATE_USER_ID") private String createUserId; @@ -34,7 +36,7 @@ public class ComCdLangCtg implements Serializable { // @Temporal(TemporalType.TIMESTAMP) @Column(name="UPDTE_DT", columnDefinition = "TIMESTAMP") - private Date updteDt; + private Instant updteDt; @Column(name="UPDTE_USER_ID") private String updteUserId; @@ -58,11 +60,11 @@ public class ComCdLangCtg implements Serializable { this.cdNm = cdNm; } - public Date getCreateDt() { + public Instant getCreateDt() { return this.createDt; } - public void setCreateDt(Date createDt) { + public void setCreateDt(Instant createDt) { this.createDt = createDt; } @@ -82,11 +84,11 @@ public class ComCdLangCtg implements Serializable { this.rm = rm; } - public Date getUpdteDt() { + public Instant getUpdteDt() { return this.updteDt; } - public void setUpdteDt(Date updteDt) { + public void setUpdteDt(Instant updteDt) { this.updteDt = updteDt; } diff --git a/pav-server/src/main/java/com/palnet/biz/jpa/entity/ComSiteBas.java b/pav-server/src/main/java/com/palnet/biz/jpa/entity/ComSiteBas.java index 6fac0b5d..1e7e263f 100644 --- a/pav-server/src/main/java/com/palnet/biz/jpa/entity/ComSiteBas.java +++ b/pav-server/src/main/java/com/palnet/biz/jpa/entity/ComSiteBas.java @@ -1,8 +1,9 @@ package com.palnet.biz.jpa.entity; import java.io.Serializable; +import java.time.Instant; + import javax.persistence.*; -import java.util.Date; /** @@ -21,7 +22,7 @@ public class ComSiteBas implements Serializable { // @Temporal(TemporalType.TIMESTAMP) @Column(name="CREATE_DT", columnDefinition = "TIMESTAMP") - private Date createDt; + private Instant createDt; @Column(name="CREATE_USER_ID") private String createUserId; @@ -38,7 +39,7 @@ public class ComSiteBas implements Serializable { // @Temporal(TemporalType.TIMESTAMP) @Column(name="UPDATE_DT", columnDefinition = "TIMESTAMP") - private Date updateDt; + private Instant updateDt; @Column(name="UPDATE_USER_ID") private String updateUserId; @@ -57,11 +58,11 @@ public class ComSiteBas implements Serializable { this.siteCd = siteCd; } - public Date getCreateDt() { + public Instant getCreateDt() { return this.createDt; } - public void setCreateDt(Date createDt) { + public void setCreateDt(Instant createDt) { this.createDt = createDt; } @@ -97,11 +98,11 @@ public class ComSiteBas implements Serializable { this.siteUrl = siteUrl; } - public Date getUpdateDt() { + public Instant getUpdateDt() { return this.updateDt; } - public void setUpdateDt(Date updateDt) { + public void setUpdateDt(Instant updateDt) { this.updateDt = updateDt; } diff --git a/pav-server/src/main/java/com/palnet/biz/jpa/entity/ComTrmnlBas.java b/pav-server/src/main/java/com/palnet/biz/jpa/entity/ComTrmnlBas.java index e7d16cc3..d887533d 100644 --- a/pav-server/src/main/java/com/palnet/biz/jpa/entity/ComTrmnlBas.java +++ b/pav-server/src/main/java/com/palnet/biz/jpa/entity/ComTrmnlBas.java @@ -1,6 +1,8 @@ package com.palnet.biz.jpa.entity; import java.io.Serializable; +import java.time.Instant; + import javax.persistence.*; import java.util.Date; @@ -24,7 +26,7 @@ public class ComTrmnlBas implements Serializable { // @Temporal(TemporalType.TIMESTAMP) @Column(name="CREATE_DT", columnDefinition = "TIMESTAMP") - private Date createDt; + private Instant createDt; @Column(name="CREATE_USER_ID") private String createUserId; @@ -37,7 +39,7 @@ public class ComTrmnlBas implements Serializable { // @Temporal(TemporalType.TIMESTAMP) @Column(name="UPDATE_DATE", columnDefinition = "TIMESTAMP") - private Date updateDate; + private Instant updateDate; @Column(name="UPDATE_USER_ID") private String updateUserId; @@ -64,11 +66,11 @@ public class ComTrmnlBas implements Serializable { this.authKey = authKey; } - public Date getCreateDt() { + public Instant getCreateDt() { return this.createDt; } - public void setCreateDt(Date createDt) { + public void setCreateDt(Instant createDt) { this.createDt = createDt; } @@ -96,11 +98,11 @@ public class ComTrmnlBas implements Serializable { this.trmnlNm = trmnlNm; } - public Date getUpdateDate() { + public Instant getUpdateDate() { return this.updateDate; } - public void setUpdateDate(Date updateDate) { + public void setUpdateDate(Instant updateDate) { this.updateDate = updateDate; } diff --git a/pav-server/src/main/java/com/palnet/biz/jpa/entity/FltPlanArcrft.java b/pav-server/src/main/java/com/palnet/biz/jpa/entity/FltPlanArcrft.java index ba35753f..975de949 100644 --- a/pav-server/src/main/java/com/palnet/biz/jpa/entity/FltPlanArcrft.java +++ b/pav-server/src/main/java/com/palnet/biz/jpa/entity/FltPlanArcrft.java @@ -6,6 +6,8 @@ import org.hibernate.annotations.CreationTimestamp; import org.hibernate.annotations.UpdateTimestamp; import javax.persistence.*; + +import java.time.Instant; import java.util.Date; @Table(name = "FLT_PLAN_ARCRFT") @@ -44,7 +46,7 @@ public class FltPlanArcrft { private String prdctCmpnNm; @Column(name="PRDCT_DATE") - private Date prdctDate; + private Instant prdctDate; @Column(name="ARCRFT_LNGTH") private double arcrftLngth; @@ -85,7 +87,7 @@ public class FltPlanArcrft { @CreationTimestamp // @Temporal(TemporalType.TIMESTAMP) @Column(name="CREATE_DT", columnDefinition = "TIMESTAMP") - private Date createDt; + private Instant createDt; @Column(name="UPDATE_USER_ID") private String updateUserId; @@ -93,7 +95,7 @@ public class FltPlanArcrft { @UpdateTimestamp // @Temporal(TemporalType.TIMESTAMP) @Column(name="update_DT", columnDefinition = "TIMESTAMP") - private Date updateDt; + private Instant updateDt; } diff --git a/pav-server/src/main/java/com/palnet/biz/jpa/entity/FltPlanAreaCoord.java b/pav-server/src/main/java/com/palnet/biz/jpa/entity/FltPlanAreaCoord.java index 066811e1..227bddaa 100644 --- a/pav-server/src/main/java/com/palnet/biz/jpa/entity/FltPlanAreaCoord.java +++ b/pav-server/src/main/java/com/palnet/biz/jpa/entity/FltPlanAreaCoord.java @@ -5,6 +5,8 @@ import lombok.Setter; import org.hibernate.annotations.CreationTimestamp; import javax.persistence.*; + +import java.time.Instant; import java.time.LocalDateTime; import java.util.Date; @@ -35,5 +37,5 @@ public class FltPlanAreaCoord { @CreationTimestamp // @Temporal(TemporalType.TIMESTAMP) @Column(name = "CREATE_DT", columnDefinition = "TIMESTAMP") - private Date createDt; + private Instant createDt; } diff --git a/pav-server/src/main/java/com/palnet/biz/jpa/entity/PtyCstmrConectHist.java b/pav-server/src/main/java/com/palnet/biz/jpa/entity/PtyCstmrConectHist.java index 65c4b812..304429e0 100644 --- a/pav-server/src/main/java/com/palnet/biz/jpa/entity/PtyCstmrConectHist.java +++ b/pav-server/src/main/java/com/palnet/biz/jpa/entity/PtyCstmrConectHist.java @@ -1,6 +1,8 @@ package com.palnet.biz.jpa.entity; import java.io.Serializable; +import java.time.Instant; + import javax.persistence.*; import java.util.Date; @@ -21,7 +23,7 @@ public class PtyCstmrConectHist implements Serializable { // @Temporal(TemporalType.TIMESTAMP) @Column(name="CONECT_DT", columnDefinition = "TIMESTAMP") - private Date conectDt; + private Instant conectDt; @Column(name="CONECT_ERROR_CD") private String conectErrorCd; @@ -46,11 +48,11 @@ public class PtyCstmrConectHist implements Serializable { this.cstmrConectHistSno = cstmrConectHistSno; } - public Date getConectDt() { + public Instant getConectDt() { return this.conectDt; } - public void setConectDt(Date conectDt) { + public void setConectDt(Instant conectDt) { this.conectDt = conectDt; } diff --git a/pav-server/src/main/java/com/palnet/biz/jpa/entity/PtySnsLoginRel.java b/pav-server/src/main/java/com/palnet/biz/jpa/entity/PtySnsLoginRel.java index 4c31f14f..e9209d68 100644 --- a/pav-server/src/main/java/com/palnet/biz/jpa/entity/PtySnsLoginRel.java +++ b/pav-server/src/main/java/com/palnet/biz/jpa/entity/PtySnsLoginRel.java @@ -1,6 +1,8 @@ package com.palnet.biz.jpa.entity; import java.io.Serializable; +import java.time.Instant; + import javax.persistence.*; import java.util.Date; @@ -24,7 +26,7 @@ public class PtySnsLoginRel implements Serializable { // @Temporal(TemporalType.TIMESTAMP) @Column(name="LINK_DT", columnDefinition = "TIMESTAMP") - private Date linkDt; + private Instant linkDt; @Column(name="LINK_IP") private String linkIp; @@ -40,7 +42,7 @@ public class PtySnsLoginRel implements Serializable { // @Temporal(TemporalType.TIMESTAMP) @Column(name="WTHDR_DT", columnDefinition = "TIMESTAMP") - private Date wthdrDt; + private Instant wthdrDt; public PtySnsLoginRel() { } @@ -61,11 +63,11 @@ public class PtySnsLoginRel implements Serializable { this.cstmrSno = cstmrSno; } - public Date getLinkDt() { + public Instant getLinkDt() { return this.linkDt; } - public void setLinkDt(Date linkDt) { + public void setLinkDt(Instant linkDt) { this.linkDt = linkDt; } @@ -101,11 +103,11 @@ public class PtySnsLoginRel implements Serializable { this.snsIdntfrId = snsIdntfrId; } - public Date getWthdrDt() { + public Instant getWthdrDt() { return this.wthdrDt; } - public void setWthdrDt(Date wthdrDt) { + public void setWthdrDt(Instant wthdrDt) { this.wthdrDt = wthdrDt; } From 4af4af42f7fec3dc1060ec7b0eb9f51f871e63db Mon Sep 17 00:00:00 2001 From: lkd9125 Date: Thu, 14 Sep 2023 14:20:11 +0900 Subject: [PATCH 2/2] =?UTF-8?q?Socket,=20WebSocket=20Instant=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/palnet/comn/utils/DateUtils.java | 6 -- .../java/com/palnet/comn/utils/DateUtils.java | 69 ++++++++++++------- .../java/com/palnet/comn/utils/DateUtils.java | 67 +++++++++++------- .../process/scheduler/GpHistoryScheduler.java | 5 +- 4 files changed, 92 insertions(+), 55 deletions(-) diff --git a/pav-server/src/main/java/com/palnet/comn/utils/DateUtils.java b/pav-server/src/main/java/com/palnet/comn/utils/DateUtils.java index 3b6e03ac..ad272261 100644 --- a/pav-server/src/main/java/com/palnet/comn/utils/DateUtils.java +++ b/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.time.Instant; -import java.time.LocalDate; import java.time.LocalDateTime; import java.time.ZoneId; import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatterBuilder; import java.time.temporal.ChronoField; -import java.util.ArrayList; -import java.util.Collections; import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; @Slf4j public class DateUtils { diff --git a/pav-socket/src/main/java/com/palnet/comn/utils/DateUtils.java b/pav-socket/src/main/java/com/palnet/comn/utils/DateUtils.java index 3a1f867a..942fb685 100644 --- a/pav-socket/src/main/java/com/palnet/comn/utils/DateUtils.java +++ b/pav-socket/src/main/java/com/palnet/comn/utils/DateUtils.java @@ -1,12 +1,17 @@ package com.palnet.comn.utils; import java.text.SimpleDateFormat; +import java.time.Instant; import java.time.LocalDateTime; +import java.time.ZoneId; import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatterBuilder; import java.time.temporal.ChronoField; import java.util.Date; +import lombok.extern.slf4j.Slf4j; + +@Slf4j public class DateUtils { public static String getCurrentTime(){ @@ -14,56 +19,71 @@ public class DateUtils { } 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); } - public static Date stringToDatetime(String date) { + public static Instant stringToDatetime(String date) { SimpleDateFormat transFormat = new SimpleDateFormat("yyyyMMddHHmmss"); - Date result = null; + Date dateObject = null; try { if(date.length() == 14) { - result = transFormat.parse(date); + dateObject = transFormat.parse(date); } }catch(Exception e) { e.printStackTrace(); } + + Instant result = dateObject.toInstant(); return result; } - public static Date stringToDate(String date) { + public static Instant stringToDate(String date) { SimpleDateFormat transFormat = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat transFormat2 = new SimpleDateFormat("yyyyMMdd"); - Date result = null; + Date dateObject = null; try { if(date.length() == 10) { - result = transFormat.parse(date); + dateObject = transFormat.parse(date); }else if(date.length() == 8) { - result = transFormat2.parse(date); + dateObject = transFormat2.parse(date); } }catch(Exception e) { e.printStackTrace(); } - + + Instant result = dateObject.toInstant(); + return result; } - public static LocalDateTime stringToLocalDateTime(String date) { - - DateTimeFormatter transFormat = DateTimeFormatter.ofPattern("yyyyMMddHHmmss"); - LocalDateTime localDateTime = LocalDateTime.parse(date , transFormat); - - return localDateTime; + public static Instant stringToInstant(String date) { + + log.error("date -> {}", date); + + DateTimeFormatter formatter; + + 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 DATEFORMATTER = new DateTimeFormatterBuilder().append(transFormat) @@ -71,11 +91,10 @@ public class DateUtils { .parseDefaulting(ChronoField.MINUTE_OF_HOUR, 0) .parseDefaulting(ChronoField.SECOND_OF_MINUTE, 0) .toFormatter(); - - + 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) { - - long diffDate = secondDate.getTime() - firstDate.getTime(); - long diffTime = diffDate / (1000 * 60); + public static long diffMinute(Instant firstDate , Instant secondDate) { + long diffDate = secondDate.getEpochSecond() - firstDate.getEpochSecond(); + long diffTime = diffDate / (60); + return diffTime; } + + @@ -150,4 +171,4 @@ public class DateUtils { //// } // // } -} +} \ No newline at end of file diff --git a/pav-websocket/src/main/java/com/palnet/comn/utils/DateUtils.java b/pav-websocket/src/main/java/com/palnet/comn/utils/DateUtils.java index 3a1f867a..5b5082cd 100644 --- a/pav-websocket/src/main/java/com/palnet/comn/utils/DateUtils.java +++ b/pav-websocket/src/main/java/com/palnet/comn/utils/DateUtils.java @@ -1,12 +1,17 @@ package com.palnet.comn.utils; import java.text.SimpleDateFormat; +import java.time.Instant; import java.time.LocalDateTime; +import java.time.ZoneId; import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatterBuilder; import java.time.temporal.ChronoField; import java.util.Date; +import lombok.extern.slf4j.Slf4j; + +@Slf4j public class DateUtils { public static String getCurrentTime(){ @@ -14,56 +19,71 @@ public class DateUtils { } 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); } - public static Date stringToDatetime(String date) { + public static Instant stringToDatetime(String date) { SimpleDateFormat transFormat = new SimpleDateFormat("yyyyMMddHHmmss"); - Date result = null; + Date dateObject = null; try { if(date.length() == 14) { - result = transFormat.parse(date); + dateObject = transFormat.parse(date); } }catch(Exception e) { e.printStackTrace(); } + + Instant result = dateObject.toInstant(); return result; } - public static Date stringToDate(String date) { + public static Instant stringToDate(String date) { SimpleDateFormat transFormat = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat transFormat2 = new SimpleDateFormat("yyyyMMdd"); - Date result = null; + Date dateObject = null; try { if(date.length() == 10) { - result = transFormat.parse(date); + dateObject = transFormat.parse(date); }else if(date.length() == 8) { - result = transFormat2.parse(date); + dateObject = transFormat2.parse(date); } }catch(Exception e) { e.printStackTrace(); } - + + Instant result = dateObject.toInstant(); + return result; } - public static LocalDateTime stringToLocalDateTime(String date) { - - DateTimeFormatter transFormat = DateTimeFormatter.ofPattern("yyyyMMddHHmmss"); - LocalDateTime localDateTime = LocalDateTime.parse(date , transFormat); - - return localDateTime; + public static Instant stringToInstant(String date) { + + log.error("date -> {}", date); + + DateTimeFormatter formatter; + + 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 DATEFORMATTER = new DateTimeFormatterBuilder().append(transFormat) @@ -71,11 +91,10 @@ public class DateUtils { .parseDefaulting(ChronoField.MINUTE_OF_HOUR, 0) .parseDefaulting(ChronoField.SECOND_OF_MINUTE, 0) .toFormatter(); - - + 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) { - - long diffDate = secondDate.getTime() - firstDate.getTime(); - long diffTime = diffDate / (1000 * 60); + public static long diffMinute(Instant firstDate , Instant secondDate) { + long diffDate = secondDate.getEpochSecond() - firstDate.getEpochSecond(); + long diffTime = diffDate / (60); + return diffTime; } + + diff --git a/pav-websocket/src/main/java/com/palnet/process/scheduler/GpHistoryScheduler.java b/pav-websocket/src/main/java/com/palnet/process/scheduler/GpHistoryScheduler.java index b7837b1b..51957252 100644 --- a/pav-websocket/src/main/java/com/palnet/process/scheduler/GpHistoryScheduler.java +++ b/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.stereotype.Component; +import java.time.Instant; import java.util.Date; import java.util.Map; import java.util.Objects; @@ -30,8 +31,8 @@ public class GpHistoryScheduler { // Key 의 존재하는 데이터는 마지막 서버수신 History Data if(Objects.nonNull(allHistory)) { allHistory.forEach((k, v) -> { - Date serverRcvDt = DateUtils.stringToDatetime(v.getServerRcvDt()); - long diffSecond = DateUtils.diffSecond(serverRcvDt, new Date()); + Instant serverRcvDt = DateUtils.stringToDatetime(v.getServerRcvDt()); + long diffSecond = DateUtils.diffMinute(serverRcvDt, Instant.now()); if(diffSecond > timeLimit) { gpHistoryShareContext.removeHistory(k);