From 26fb06867791313757a708581c7f748a45b469fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=9C=B0=E5=B9=B3=E7=BA=BF?= <22250530@qq.com> Date: Fri, 12 Jun 2015 11:53:09 +0800 Subject: [PATCH] --- src/com/wentch/redkale/util/Utility.java | 27 ++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/com/wentch/redkale/util/Utility.java b/src/com/wentch/redkale/util/Utility.java index b955d1a9b..601173bdf 100644 --- a/src/com/wentch/redkale/util/Utility.java +++ b/src/com/wentch/redkale/util/Utility.java @@ -9,6 +9,7 @@ import java.lang.reflect.Field; import java.net.*; import java.nio.ByteBuffer; import java.nio.charset.*; +import java.time.*; import java.util.*; import javax.net.ssl.*; @@ -82,6 +83,32 @@ public final class Utility { return today.getYear() * 10000 + today.getMonthValue() * 100 + today.getDayOfMonth(); } + //时间点所在星期的周一 + public static long monday(long time) { + ZoneId zid = ZoneId.systemDefault(); + Instant instant = Instant.ofEpochMilli(time); + LocalDate ld = instant.atZone(zid).toLocalDate(); + ld = ld.minusDays(ld.getDayOfWeek().getValue() - 1); + return ld.atStartOfDay(zid).toInstant().toEpochMilli(); + } + + //时间点所在星期的周日 + public static long sunday(long time) { + ZoneId zid = ZoneId.systemDefault(); + Instant instant = Instant.ofEpochMilli(time); + LocalDate ld = instant.atZone(zid).toLocalDate(); + ld = ld.plusDays(7 - ld.getDayOfWeek().getValue()); + return ld.atStartOfDay(zid).toInstant().toEpochMilli(); + } + + //时间点所在月份的1号 + public static long monthFirstDay(long time) { + ZoneId zid = ZoneId.systemDefault(); + Instant instant = Instant.ofEpochMilli(time); + LocalDate ld = instant.atZone(zid).toLocalDate().withDayOfMonth(1); + return ld.atStartOfDay(zid).toInstant().toEpochMilli(); + } + public static String binToHexString(byte[] bytes) { return new String(binToHex(bytes)); }