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) {