From 9e7a84476ab5c0854fa2d808ad7eec1690c1f88d Mon Sep 17 00:00:00 2001 From: duhui Date: Mon, 20 Feb 2023 17:54:44 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E5=91=A8=E4=B8=80=E9=9B=B6?= =?UTF-8?q?=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gamecommon/src/main/java/util/TimeUtils.java | 21 ++++++++----------- .../logic/arena/CrossLingmaiLogic.java | 4 ++-- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/gamecommon/src/main/java/util/TimeUtils.java b/gamecommon/src/main/java/util/TimeUtils.java index 02fff75cd..83f682625 100644 --- a/gamecommon/src/main/java/util/TimeUtils.java +++ b/gamecommon/src/main/java/util/TimeUtils.java @@ -1766,19 +1766,16 @@ public class TimeUtils { } //周几的零点 - public static long getWeekZero(int weekDay) { - if (weekDay == 7) { - weekDay = 1; - } else { - weekDay += 1; + public static long getMondayZero() { + Calendar cal = Calendar.getInstance(); + cal.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH), 0, 0, 0); + // java里的周,是外国的,周日 是第一天; + // 中国的 周一 是第一天...一定要注意; + if (Calendar.SUNDAY == cal.get(Calendar.DAY_OF_WEEK)){ + cal.add(Calendar.DATE, -1); } - Calendar calendar = Calendar.getInstance(); - calendar.set(Calendar.SECOND, 0); - calendar.set(Calendar.MINUTE, 0); - calendar.set(Calendar.HOUR_OF_DAY, 0); - calendar.set(Calendar.MILLISECOND, 0); - calendar.set(Calendar.DAY_OF_WEEK, weekDay); - return calendar.getTimeInMillis(); + cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); + return cal.getTimeInMillis(); } /** diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/CrossLingmaiLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/CrossLingmaiLogic.java index 05ee4a5f7..141804360 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/CrossLingmaiLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/CrossLingmaiLogic.java @@ -38,7 +38,7 @@ public class CrossLingmaiLogic { public static List getSendRewardWeekDay(){ SMServerLodeSetting setting = SMServerLodeSetting.lodeConfig.get(1); int[][] battleTime = setting.getBattleTime(); - long mondayZeroTime = TimeUtils.getWeekZero(1); + long mondayZeroTime = TimeUtils.getMondayZero(); List sendWeekDay = new ArrayList<>(); for (int[] everyTime : battleTime) { sendWeekDay.add(TimeUtils.getDayOfWeekBytime(mondayZeroTime + (everyTime[1]+3) * 1000L)); @@ -51,7 +51,7 @@ public class CrossLingmaiLogic { SMServerLodeSetting setting = SMServerLodeSetting.lodeConfig.get(1); int[][] restTime = setting.getRestTime(); int[][] battleTime = setting.getBattleTime(); - long mondayZeroTime = TimeUtils.getWeekZero(1); + long mondayZeroTime = TimeUtils.getMondayZero(); long now = TimeUtils.now(); //休战期 for (int[] everyTime : restTime) {