From 6e85d12eab8accba3dd6731d9273388bd7f8d68c Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Fri, 14 Nov 2025 18:26:25 +0800
Subject: [PATCH] 2
---
trading-order-common/src/main/java/com/yami/trading/common/util/DateUtil.java | 30 ++++++++++++++++++++++++++++++
1 files changed, 30 insertions(+), 0 deletions(-)
diff --git a/trading-order-common/src/main/java/com/yami/trading/common/util/DateUtil.java b/trading-order-common/src/main/java/com/yami/trading/common/util/DateUtil.java
index fbd1832..31b4254 100644
--- a/trading-order-common/src/main/java/com/yami/trading/common/util/DateUtil.java
+++ b/trading-order-common/src/main/java/com/yami/trading/common/util/DateUtil.java
@@ -1,7 +1,13 @@
package com.yami.trading.common.util;
+import org.apache.commons.lang3.time.DateFormatUtils;
+
import java.text.ParseException;
import java.text.SimpleDateFormat;
+import java.time.Instant;
+import java.time.ZoneId;
+import java.time.ZonedDateTime;
+import java.time.format.DateTimeFormatter;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
@@ -894,4 +900,28 @@
public static long stringToMillSeconds(String dateString){
return stringToDate(dateString,java.sql.Timestamp.class).getTime();
}
+
+ /**
+ * 把美国时区时间转为德国时区时间
+ * @param date
+ * @return
+ */
+ public static String convertToZonedDateTime(Date date){
+ // 1. 将Date转换为UTC瞬时点(Instant)
+ Instant utcInstant = date.toInstant();
+
+ // 2. 绑定原始时区:明确该时间是纽约时区的时间
+ ZoneId newYorkZone = ZoneId.of("America/New_York");
+ ZonedDateTime newYorkZonedTime = ZonedDateTime.ofInstant(utcInstant, newYorkZone);
+
+ // 3. 转换为德国时区(Europe/Berlin,自动处理夏令时)
+ ZoneId berlinZone = ZoneId.of("Europe/Berlin");
+ ZonedDateTime berlinZonedTime = newYorkZonedTime.withZoneSameInstant(berlinZone);
+
+ // 4. 格式化输出(例如:yyyy-MM-dd HH:mm:ss)
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+
+ return berlinZonedTime.format(formatter);
+ }
+
}
--
Gitblit v1.9.3