src/main/java/project/contract/internal/ContractOrderServiceImpl.java
@@ -478,8 +478,9 @@ } public Map<String, Object> bulidOne(ContractOrder order) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss a", Locale.ENGLISH); simpleDateFormat.setTimeZone(TimeZone.getTimeZone("America/New_York")); // SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss a", Locale.ENGLISH); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); simpleDateFormat.setTimeZone(TimeZone.getTimeZone("Europe/Berlin")); DecimalFormat df = new DecimalFormat("#.##"); Map<String, Object> map = new HashMap<String, Object>(); map.put("order_no", order.getOrder_no()); src/main/java/project/futures/internal/FuturesOrderLocalServiceImpl.java
@@ -82,7 +82,7 @@ } DecimalFormat df_symbol = new DecimalFormat(decimals); df_symbol.setRoundingMode(RoundingMode.FLOOR);// 向下取整 TimeZone timeZone = TimeZone.getTimeZone("America/New_York"); TimeZone timeZone = TimeZone.getTimeZone("Europe/Berlin"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); sdf.setTimeZone(timeZone); DecimalFormat df = new DecimalFormat("#.##"); src/main/java/project/futures/internal/FuturesOrderServiceImpl.java
@@ -558,8 +558,8 @@ 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")); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); simpleDateFormat.setTimeZone(TimeZone.getTimeZone("Europe/Berlin")); FuturesOrder order_cache = (FuturesOrder) redisHandler.get(FuturesRedisKeys.FUTURES_SUBMITTED_ORDERNO + order.getOrder_no()); if (order_cache != null) order = order_cache; @@ -577,7 +577,7 @@ DecimalFormat df_symbol = new DecimalFormat(decimals); df_symbol.setRoundingMode(RoundingMode.FLOOR);// 向下取整 TimeZone timeZone = TimeZone.getTimeZone("America/New_York"); TimeZone timeZone = TimeZone.getTimeZone("Europe/Berlin"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); sdf.setTimeZone(timeZone); DecimalFormat df = new DecimalFormat("#.##"); src/main/java/project/web/api/RealtimeController.java
@@ -3,6 +3,11 @@ import java.math.RoundingMode; import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.time.LocalDateTime; import java.time.ZoneId; import java.time.ZoneOffset; import java.time.ZonedDateTime; import java.time.format.DateTimeFormatter; import java.util.*; import java.util.stream.Collectors; @@ -99,13 +104,23 @@ Map<String, Object> map = new HashMap<String, Object>(); map.put("symbol", realtime.getSymbol()); map.put("ts", realtime.getTs()); long currentTime = 1744341503535L; // 确保 currentTime 是 long 类型 TimeZone timeZone = TimeZone.getTimeZone("America/New_York"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); sdf.setTimeZone(timeZone); Date date = new Date(currentTime); String formattedTime = sdf.format(date); String currentTime = realtime.getCurrent_time(); // "yyyy-MM-dd HH:mm:ss" // 1. 解析原始时间(假设是 UTC 时间) DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); LocalDateTime localDateTime = LocalDateTime.parse(currentTime, inputFormatter); // 2. 转换为柏林时区的时间 ZoneId berlinZone = ZoneId.of("Europe/Berlin"); ZonedDateTime utcTime = localDateTime.atZone(ZoneOffset.UTC); // 假设原时间是 UTC ZonedDateTime berlinTime = utcTime.withZoneSameInstant(berlinZone); // 3. 格式化为字符串 DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); String formattedTime = berlinTime.format(outputFormatter); map.put("current_time", formattedTime); Item item1 = this.itemService.cacheBySymbol(realtime.getSymbol(), false); map.put("name", item1.getName()); map.put("change_ratio", realtime.getChange_ratio());