学习使用遗留的 Date 和 Calendar 类以及新的 Java 8 查找给定日期的星期几日期 API。
可能有要求在UI中显示星期几(周一到周日),然后我们需要找到这个信息。
Monday (1)
到 SUNDAY (7)
。我们可以使用 LocalDate.getDayOfWeek()
方法来获取日期值。SUNDAY (1)
到 SATURDAY(7
的 7 个常量。我们可以使用 cal.get(Calendar.DAY_OF_WEEK)
方法从 Calendar 实例获取一天。重要的是要注意两种解决方案中分配给工作日的数字的差异。
让我们看一个程序,演示如何使用 LocalDate 类和 DayOfWeek 自 Java 8 以来的枚举来获取星期几。
LocalDate today = LocalDate.now();
DayOfWeek dayOfWeek = today.getDayOfWeek();
System.out.println("Day of the Week :: " + dayOfWeek);
System.out.println("Day of the Week - in Number :: "
+ dayOfWeek.getValue());
System.out.println("Day of the Week - Formatted FULL :: "
+ dayOfWeek.getDisplayName(TextStyle.FULL, Locale.getDefault()));
System.out.println("Day of the Week - Formatted SHORT :: "
+ dayOfWeek.getDisplayName(TextStyle.SHORT, Locale.getDefault()));
程序输出。
Day of the Week :: TUESDAY
Day of the Week - in Number :: 2
Day of the Week - Formatted FULL :: Tuesday
Day of the Week - Formatted SHORT :: Tue
现在让我们使用遗留 Java 类 java.util.Date 和 Calendar 查找星期几。
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
int dayOfWeekNum = cal.get(Calendar.DAY_OF_WEEK);
DateFormat formatter = new SimpleDateFormat("EEEE");
String dayOfWeekString = formatter.format(cal.getTime());
System.out.println("Day of the Week - in Number :: " + dayOfWeekNum);
System.out.println("Day of the Week - in Text :: " + dayOfWeekString);
程序输出。
Day of the Week - in Number :: 3
Day of the Week - in Text :: Tuesday
显然,旧的 Java 类对获取工作日名称的支持极少。自 Java 8 以来,新的日期时间 API 得到了可靠的支持,甚至为此目的提供了一个专用的枚举。
快乐学习!!
标签2: Java Date Time地址:https://www.cundage.com/article/finding-day-of-week.html