检查周末的Java程序

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

学习检查给定日期是否是 Java 中的周末。我们将学习使用 java.util.Date 检查作为以及 Java 8 java.time.LocalDate 类.

在给定的示例中,我们假设周末是周六或周日。一周的其余五天是工作日。

1. 使用 LocalDate 检查周末

LocalDate.get(ChronoField.DAY_OF_WEEK) 方法返回 1 到 7 范围内的整数值。每个整数值代表不同的工作日。

1 代表星期一,以此类推 6 代表星期六,7 代表星期日。

通过将上述整数值与 DayOfWeek 枚举中的天数进行比较,我们可以确定日期是工作日还是周末。

import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.temporal.ChronoField;

public class Main
{
    public static void main(final String[] args)
    {
        LocalDate today = LocalDate.now();
        System.out.println("Is weekend : " + isWeekend(today));

        LocalDate someDate = LocalDate.of(2021, 1, 2); // 2nd-Jan-2021
        System.out.println("Is weekend : " + isWeekend(someDate));
    }

    public static boolean isWeekend(final LocalDate ld)
    {
        DayOfWeek day = DayOfWeek.of(ld.get(ChronoField.DAY_OF_WEEK));
        return day == DayOfWeek.SUNDAY || day == DayOfWeek.SATURDAY;
    }
}

2. 使用日期和日历类检查周末

类似于新的 Java 8 日期时间 API,Java 7 也有Calendar.get(Calendar.DAY_OF_WEEK) 方法返回一个整数值,表示一周中的某一天。

整数值范围从 1 到 7,一周从星期日 (1) 开始,到 星期六 (7) 结束。

要检查给定日期是工作日还是周末,我们需要将 java.util.Date 实例转换为 java.util.Calendar 并执行上述比较.

import java.util.Calendar;
import java.util.Date;

public class Main
{
    public static void main(final String[] args)
    {
        Date today = new Date();
        System.out.println("Is weekend : " + isWeekend(today));

        @SuppressWarnings("deprecation")
        Date someDate = new Date(2021, 0, 2);
        System.out.println("Is weekend : " + isWeekend(someDate));
    }

    public static boolean isWeekend(final Date d)
    {
        Calendar cal = Calendar.getInstance();
        cal.setTime(d);

        int day = cal.get(Calendar.DAY_OF_WEEK);
        return day == Calendar.SATURDAY || day == Calendar.SUNDAY;
    }
}

快乐学习!!

地址:https://www.cundage.com/article/check-weekend.html

相关阅读

学习将java.time.LocalDate转换为java.util.Date 反之亦然,使用易于理解的 Java 示例。 1.将日期转换为LocalDate Date.getTime() 方法...
学习将 java.util.Date 转换为 java.time.LocalDateTime,反之亦然理解 Java 程序。 1. 日期 -&gtl; LocalDateTime Date.ge...
学习检查给定日期是否是 Java 中的周末。我们将学习使用 java.util.Date 检查作为以及 Java 8 java.time.LocalDate 类. 在给定的示例中,我们假设周末是...
学习创建新日期、获取当前日期、解析日期为字符串或格式化Date 使用 java.util.Date类。这些用例是经常需要的,将它们放在一个地方将有助于为我们许多人节省时间。 值得注意的是,没有与...
从 LocalTime 转换为 java.sql.Time 的 Java 示例,反之亦然。 请注意,Time 类添加了格式化和解析操作以支持时间值的 JDBC 转义语法。它的日期组件应设置为“零...
在本 Java 教程中,我们将查看用于在 Java 中查找两个日期之间的差异 的程序。 初始程序使用新的 Java 8 日期时间 API。在上一个程序中,我们将学习使用 Jodatime API...
获取任何给定日期的第二天或前一天的 Java 示例。该示例使用旧版 java.util.Date 类以及来自 Java 8 的 java.time.LocalDate 类。 我们可以使用此示例代...
学习在 Java 中比较两个给定日期,以找出 在通用时间轴中哪个日期早,哪个日期晚。我们将看到使用以下类的日期比较示例: LocalDate、LocalDateTime 和 ZonedDateT...
使用 $$$ 参数与 DateTimeFormatter 实例。 1. ResolverStyle——解析风格 在 Java 中解析字符串到日期分两个阶段进行: 阶段 1 是根据添加到构建器的字...
Java 当前日期时间教程介绍了各种用于在 Java 中获取当前日期时间的 Java 类。 在 Java 中有几种获取当前日期和时间的方法。 Java 程序员可以使用 Java 8 中引入的现代...