mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-04-19 03:01:48 +08:00
从LocalDate中获取Week
This commit is contained in:
parent
c33eb83a90
commit
f553d6d2cb
@ -512,4 +512,15 @@ public class LocalDateTimeUtil {
|
||||
final DayOfWeek dayOfWeek = localDate.getDayOfWeek();
|
||||
return DayOfWeek.SATURDAY == dayOfWeek || DayOfWeek.SUNDAY == dayOfWeek;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取{@link LocalDate}对应的星期值
|
||||
*
|
||||
* @param localDate 日期{@link LocalDate}
|
||||
* @return {@link Week}
|
||||
* @since 5.7.14
|
||||
*/
|
||||
public static Week dayOfWeek(LocalDate localDate) {
|
||||
return Week.of(localDate.getDayOfWeek());
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package cn.hutool.core.date;
|
||||
|
||||
import java.time.DayOfWeek;
|
||||
import java.util.Calendar;
|
||||
|
||||
/**
|
||||
@ -128,4 +129,27 @@ public enum Week {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 将 {@link DayOfWeek}星期相关值转换为Week枚举对象<br>
|
||||
*
|
||||
* @see #SUNDAY
|
||||
* @see #MONDAY
|
||||
* @see #TUESDAY
|
||||
* @see #WEDNESDAY
|
||||
* @see #THURSDAY
|
||||
* @see #FRIDAY
|
||||
* @see #SATURDAY
|
||||
*
|
||||
* @param dayOfWeek DayOfWeek星期值
|
||||
* @return {@link Week}
|
||||
* @since 5.7.14
|
||||
*/
|
||||
public static Week of(DayOfWeek dayOfWeek) {
|
||||
int week = dayOfWeek.ordinal() + 2;
|
||||
if (week > 7) {
|
||||
week = 1;
|
||||
}
|
||||
return of(week);
|
||||
}
|
||||
}
|
||||
|
@ -149,4 +149,28 @@ public class LocalDateTimeUtilTest {
|
||||
final LocalDateTime endOfDay = LocalDateTimeUtil.endOfDay(localDateTime);
|
||||
Assert.assertEquals("2020-01-23T23:59:59.999999999", endOfDay.toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void dayOfWeekTest() {
|
||||
final Week one = LocalDateTimeUtil.dayOfWeek(LocalDate.of(2021, 9, 20));
|
||||
Assert.assertEquals(Week.MONDAY, one);
|
||||
|
||||
final Week two = LocalDateTimeUtil.dayOfWeek(LocalDate.of(2021, 9, 21));
|
||||
Assert.assertEquals(Week.TUESDAY, two);
|
||||
|
||||
final Week three = LocalDateTimeUtil.dayOfWeek(LocalDate.of(2021, 9, 22));
|
||||
Assert.assertEquals(Week.WEDNESDAY, three);
|
||||
|
||||
final Week four = LocalDateTimeUtil.dayOfWeek(LocalDate.of(2021, 9, 23));
|
||||
Assert.assertEquals(Week.THURSDAY, four);
|
||||
|
||||
final Week five = LocalDateTimeUtil.dayOfWeek(LocalDate.of(2021, 9, 24));
|
||||
Assert.assertEquals(Week.FRIDAY, five);
|
||||
|
||||
final Week six = LocalDateTimeUtil.dayOfWeek(LocalDate.of(2021, 9, 25));
|
||||
Assert.assertEquals(Week.SATURDAY, six);
|
||||
|
||||
final Week seven = LocalDateTimeUtil.dayOfWeek(LocalDate.of(2021, 9, 26));
|
||||
Assert.assertEquals(Week.SUNDAY, seven);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user