📅  最后修改于: 2023-12-03 15:31:35.421000             🧑  作者: Mango
在Java 8中,DayOfWeek是一个枚举类,它提供了一组表示星期几的常量。DayOfWeek的定义如下:
public enum DayOfWeek implements TemporalAccessor, TemporalAdjuster {
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY;
}
你可以通过DayOfWeek的七个常量之一来表示一周中的一天。例如, MONDAY代表星期一,TUESDAY代表星期二,以此类推。
DayOfWeek提供了一些方法来与日期和时间进行操作。下面介绍几个常用方法:
getValue()方法返回这个DayOfWeek常量的值,范围为1到7,其中1代表星期一,2代表星期二,以此类推。
of(int dayOfWeek)方法返回表示给定值的DayOfWeek枚举。例如,DayOfWeek.of(1)返回MONDAY。
getDisplayName(TextStyle style, Locale locale)方法返回用于表示此DayOfWeek的文本名称。可以通过参数指定返回的文本名称的样式和地区。
plus(long days)方法返回在此DayOfWeek之后指定天数的DayOfWeek。例如,如果此DayOfWeek为星期三,则plus(4) 返回星期日。
minus(long days)方法返回在此DayOfWeek之前指定天数的DayOfWeek。例如,如果此DayOfWeek为星期三,则minus(2) 返回星期一。
import java.time.DayOfWeek;
import java.time.format.TextStyle;
import java.util.Locale;
public class DayOfWeekExample {
public static void main(String[] args) {
DayOfWeek day = DayOfWeek.MONDAY;
System.out.println("DayOfWeek: " + day); // DayOfWeek: MONDAY
System.out.println("Value: " + day.getValue()); // Value: 1
System.out.println("Display name: " + day.getDisplayName(TextStyle.FULL, Locale.US)); // Display name: Monday
DayOfWeek newDay = day.plus(3);
System.out.println("New day: " + newDay); // New day: THURSDAY
newDay = day.minus(2);
System.out.println("New day: " + newDay); // New day: SATURDAY
}
}
输出:
DayOfWeek: MONDAY
Value: 1
Display name: Monday
New day: THURSDAY
New day: SATURDAY
DayOfWeek可以方便地与日期和时间一起使用,例如,可以通过LocalDate的getDayOfWeek()方法获取日期对应的DayOfWeek,也可以通过TemporalAdjusters获取下一个星期一等等。 DayOfWeek是Java 8的一个有用的新功能,尤其是在处理日期和时间时。