From dd315d5732e14fcf3df71e0cf213cc442bd8607b Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Tue, 25 Feb 2025 14:30:07 +0800
Subject: [PATCH] 时间

---
 src/main/java/project/futures/internal/FuturesOrderServiceImpl.java      |   22 +++++++++++-----------
 src/main/java/project/web/api/RealtimeController.java                    |    7 ++++++-
 src/main/java/project/futures/internal/FuturesOrderLocalServiceImpl.java |   12 ++++++------
 3 files changed, 23 insertions(+), 18 deletions(-)

diff --git a/src/main/java/project/futures/internal/FuturesOrderLocalServiceImpl.java b/src/main/java/project/futures/internal/FuturesOrderLocalServiceImpl.java
index 05cfaaa..785c511 100644
--- a/src/main/java/project/futures/internal/FuturesOrderLocalServiceImpl.java
+++ b/src/main/java/project/futures/internal/FuturesOrderLocalServiceImpl.java
@@ -2,9 +2,8 @@
 
 import java.math.RoundingMode;
 import java.text.DecimalFormat;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.text.SimpleDateFormat;
+import java.util.*;
 
 import org.springframework.jdbc.core.JdbcTemplate;
 
@@ -80,15 +79,16 @@
 		}
 		DecimalFormat df_symbol = new DecimalFormat(decimals);
 		df_symbol.setRoundingMode(RoundingMode.FLOOR);// 向下取整
-
+		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss a", Locale.ENGLISH);
+		sdf.setTimeZone(TimeZone.getTimeZone("Asia/Taipei"));
 		DecimalFormat df = new DecimalFormat("#.##");
 		Map<String, Object> map = new HashMap<String, Object>();
 		map.put("order_no", order.getOrder_no());
 		map.put("name", item.getName());
 		map.put("symbol", order.getSymbol());
-		map.put("open_time", DateUtils.format(order.getCreate_time(), DateUtils.DF_yyyyMMddHHmmss));
+		map.put("open_time", sdf.format(order.getCreate_time()));
 		if (order.getClose_time() != null) {
-			map.put("close_time", DateUtils.format(order.getClose_time(), DateUtils.DF_yyyyMMddHHmmss));
+			map.put("close_time", sdf.format(order.getClose_time()));
 		} else {
 			map.put("close_time", "--");
 		}
diff --git a/src/main/java/project/futures/internal/FuturesOrderServiceImpl.java b/src/main/java/project/futures/internal/FuturesOrderServiceImpl.java
index ca64670..bb21149 100644
--- a/src/main/java/project/futures/internal/FuturesOrderServiceImpl.java
+++ b/src/main/java/project/futures/internal/FuturesOrderServiceImpl.java
@@ -558,34 +558,34 @@
 		System.out.println(simpleDateFormat.format(new Date()));
 	}
 	public Map<String, Object> bulidOne(FuturesOrder order) {
-		SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd  hh:mm:ss  a", Locale.ENGLISH);
-		simpleDateFormat.setTimeZone(TimeZone.getTimeZone("America/New_York"));
 		FuturesOrder order_cache = (FuturesOrder) redisHandler.get(FuturesRedisKeys.FUTURES_SUBMITTED_ORDERNO + order.getOrder_no());
 		if (order_cache != null) order = order_cache;
-		
+
 		Item item = this.itemService.cacheBySymbol(order.getSymbol(), false);
 		if (item == null) throw new BusinessException("参数错误");
 		String decimals = "#.";
-		
+
 		for (int i = 0; i < item.getDecimals(); i++) {
 			decimals = decimals + "#";
 		}
-		
+
 		if (item.getDecimals() == 0) {
 			decimals = "#";
 		}
-		
+
 		DecimalFormat df_symbol = new DecimalFormat(decimals);
 		df_symbol.setRoundingMode(RoundingMode.FLOOR);// 向下取整
-
+		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss a", Locale.ENGLISH);
+		// 设置时区为台湾(Asia/Taipei)
+		sdf.setTimeZone(TimeZone.getTimeZone("Asia/Taipei"));
 		DecimalFormat df = new DecimalFormat("#.##");
 		Map<String, Object> map = new HashMap<String, Object>();
 		map.put("order_no", order.getOrder_no());
 		map.put("name", item.getName());
 		map.put("symbol", order.getSymbol());
-		map.put("open_time", simpleDateFormat.format(order.getCreate_time()));
+		map.put("open_time", sdf.format(order.getCreate_time()));
 		if (order.getClose_time() != null) {
-			map.put("close_time", DateUtils.format(order.getClose_time(), "yyyy-MM-dd  hh:mm:ss"));
+			map.put("close_time", sdf.format(order.getClose_time()));
 		} else {
 			map.put("close_time", "--");
 		}
@@ -595,7 +595,7 @@
 		map.put("state", order.getState());
 		map.put("amount", order.getVolume());
 		map.put("fee", order.getFee());
-		
+
 		// 收益
 		if (order.getProfit() > 0) {
 			map.put("profit", df.format(order.getProfit()));
@@ -606,7 +606,7 @@
 		}
 
 		map.put("volume", order.getVolume());
-		map.put("settlement_time", simpleDateFormat.format(order.getSettlement_time()));// 交割时间
+		map.put("settlement_time", sdf.format(order.getSettlement_time()));// 交割时间
 		map.put("close_price", df_symbol.format(order.getClose_avg_price()));
 		map.put("remain_time", StringUtils.isEmptyString(order.getRemain_time()) ? "0:0:0" : order.getRemain_time());
 		map.put("time_num", order.getTimeNum());
diff --git a/src/main/java/project/web/api/RealtimeController.java b/src/main/java/project/web/api/RealtimeController.java
index 1eb5cc2..7259138 100644
--- a/src/main/java/project/web/api/RealtimeController.java
+++ b/src/main/java/project/web/api/RealtimeController.java
@@ -2,6 +2,7 @@
 
 import java.math.RoundingMode;
 import java.text.DecimalFormat;
+import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -89,7 +90,11 @@
 			Map<String, Object> map = new HashMap<String, Object>();
 			map.put("symbol", realtime.getSymbol());
 			map.put("ts", realtime.getTs());
-			map.put("current_time", realtime.getCurrent_time());
+			String currentTime = realtime.getCurrent_time();
+			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss a", Locale.ENGLISH);
+			// 设置时区为台湾(Asia/Taipei)
+			sdf.setTimeZone(TimeZone.getTimeZone("Asia/Taipei"));
+			map.put("current_time",sdf.format(currentTime));
 			map.put("name", realtime.getName());
 			map.put("change_ratio", realtime.getChange_ratio());
 			Item item = this.itemService.cacheBySymbol(realtime.getSymbol(), true);

--
Gitblit v1.9.3