在 Java 中查找日期是星期几

位置:首页>文章>详情   分类: Java教程 > 编程技术   阅读(338)   2023-06-26 07:54:18

学习使用遗留的 DateCalendar 类以及新的 Java 8 查找给定日期的星期几日期 API

一、概述

可能有要求在UI中显示星期几(周一到周日),然后我们需要找到这个信息。

  • 使用 Java 8 Date API,我们有一个专用枚举 DayOfWeek,从 Monday (1)SUNDAY (7)。我们可以使用 LocalDate.getDayOfWeek() 方法来获取日期值。
  • 在 Java 中,旧版 Calendar 类定义了从 SUNDAY (1)SATURDAY(7 的 7 个常量。我们可以使用 cal.get(Calendar.DAY_OF_WEEK) 方法从 Calendar 实例获取一天。

重要的是要注意两种解决方案中分配给工作日的数字的差异

2. 使用 LocalDate 获取星期几 (Java 8)

让我们看一个程序,演示如何使用 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

3. 使用日历获取星期几 (Java 7)

现在让我们使用遗留 Java 类 java.util.DateCalendar 查找星期几。

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

4.总结

显然,旧的 Java 类对获取工作日名称的支持极少。自 Java 8 以来,新的日期时间 API 得到了可靠的支持,甚至为此目的提供了一个专用的枚举。

快乐学习!!

标签2: Java Date Time
地址:https://www.cundage.com/article/finding-day-of-week.html

相关阅读

学习将java.time.LocalDate转换为java.util.Date 反之亦然,使用易于理解的 Java 示例。 1.将日期转换为LocalDate Date.getTime() 方法...
学习将 java.util.Date 转换为 java.time.LocalDateTime,反之亦然理解 Java 程序。 1. 日期 -&gtl; LocalDateTime Date.ge...
学习创建新日期、获取当前日期、解析日期为字符串或格式化Date 使用 java.util.Date类。这些用例是经常需要的,将它们放在一个地方将有助于为我们许多人节省时间。 值得注意的是,没有与...
从 LocalTime 转换为 java.sql.Time 的 Java 示例,反之亦然。 请注意,Time 类添加了格式化和解析操作以支持时间值的 JDBC 转义语法。它的日期组件应设置为“零...
获取任何给定日期的第二天或前一天的 Java 示例。该示例使用旧版 java.util.Date 类以及来自 Java 8 的 java.time.LocalDate 类。 我们可以使用此示例代...
学习在 Java 中比较两个给定日期,以找出 在通用时间轴中哪个日期早,哪个日期晚。我们将看到使用以下类的日期比较示例: LocalDate、LocalDateTime 和 ZonedDateT...
学习使用 Java 中的 ZonedDateTime 方法将 ZonedDateTime.format(DateTimeFormatter) 实例转换为字符串。 1.内置格式化程序 DateTi...
了解 Java 中的 ZonedDateTime 类,如何创建其实例和其他用例,例如解析、格式化以及添加持续时间和时间段。 一、概述 java.time.ZonedDateTime 类,在 Ja...
学习检查给定日期是否是 Java 中的周末。我们将学习使用 java.util.Date 检查作为以及 Java 8 java.time.LocalDate 类. 在给定的示例中,我们假设周末是...
学习使用 ChronoUnit.DAYS.between() 和 LocalDate.until() 方法在 Java 中计算两个日期之间的天数。 1. ChronoUnit.DAYS.betw...