首页 > 编程语言 >Java 日期类 获取指定周的周一和周日

Java 日期类 获取指定周的周一和周日

时间:2023-07-27 20:36:16浏览次数:38  
标签:Java specifiedDate 指定 获取 日期 Calendar calendar 周日

Java 日期类 获取指定周的周一和周日

1. 整体流程

下面是实现获取指定周的周一和周日的整体流程:

步骤 描述
步骤 1 获取指定日期所在周的星期一的日期
步骤 2 获取指定日期所在周的星期日的日期
步骤 3 打印输出获取到的周一和周日的日期

2. 实现步骤

接下来,我们将逐步实现上述步骤,并提供相应的代码示例。

步骤 1: 获取指定日期所在周的星期一的日期

我们可以使用java.util.Calendar类来获取指定日期所在周的星期一的日期。下面是具体的代码示例:

import java.util.Calendar;

public class DateUtils {
    public static String getMondayOfTheWeek(String specifiedDate) {
        Calendar calendar = Calendar.getInstance();
        calendar.setFirstDayOfWeek(Calendar.MONDAY); // 设置每周的第一天为星期一
        calendar.setMinimalDaysInFirstWeek(1); // 设置每年的第一周最少包含的天数
        calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); // 设置为当前周的星期一
        calendar.set(Calendar.YEAR, Integer.parseInt(specifiedDate.substring(0, 4))); // 设置年份
        calendar.set(Calendar.WEEK_OF_YEAR, Integer.parseInt(specifiedDate.substring(5, 7))); // 设置周数
        return calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1) + "-" + calendar.get(Calendar.DAY_OF_MONTH);
    }
}

在上述代码中,我们通过Calendar类先获取当前的Calendar实例,然后设置每周的第一天为星期一,设置每年的第一周最少包含的天数为1。接着,我们将日历设置为指定日期所在周的星期一,并返回该日期。

步骤 2: 获取指定日期所在周的星期日的日期

同样地,我们可以使用java.util.Calendar类来获取指定日期所在周的星期日的日期。下面是具体的代码示例:

import java.util.Calendar;

public class DateUtils {
    public static String getSundayOfTheWeek(String specifiedDate) {
        Calendar calendar = Calendar.getInstance();
        calendar.setFirstDayOfWeek(Calendar.MONDAY); // 设置每周的第一天为星期一
        calendar.setMinimalDaysInFirstWeek(1); // 设置每年的第一周最少包含的天数
        calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY); // 设置为当前周的星期日
        calendar.set(Calendar.YEAR, Integer.parseInt(specifiedDate.substring(0, 4))); // 设置年份
        calendar.set(Calendar.WEEK_OF_YEAR, Integer.parseInt(specifiedDate.substring(5, 7))); // 设置周数
        return calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) + 1) + "-" + calendar.get(Calendar.DAY_OF_MONTH);
    }
}

在上述代码中,我们通过Calendar类获取当前的Calendar实例,然后设置每周的第一天为星期一,设置每年的第一周最少包含的天数为1。接着,我们将日历设置为指定日期所在周的星期日,并返回该日期。

步骤 3: 打印输出获取到的周一和周日的日期

最后一步是打印输出获取到的周一和周日的日期。下面是具体的代码示例:

public class Main {
    public static void main(String[] args) {
        String specifiedDate = "2021-10-10"; // 指定日期,格式为YYYY-MM-DD

        String mondayOfTheWeek = DateUtils.getMondayOfTheWeek(specifiedDate);
        String sundayOfTheWeek = DateUtils.getSundayOfTheWeek(specifiedDate);

        System.out.println("指定日期所在周的星期一:" + mondayOfTheWeek);
        System.out.println("指定日期所在周的星期日:" + sundayOfTheWeek);
    }
}

在上述代码中,我们先指定一个日期,然后调用DateUtils类中的getMondayOfTheWeek方法获取指定日期所在周的星期一的日期,再调用getSundayOfTheWeek方法获取指定日期所在周的星期日的日期。最后,我们将这两个日期打印输出。

标签:Java,specifiedDate,指定,获取,日期,Calendar,calendar,周日
From: https://blog.51cto.com/u_16175464/6872450

相关文章

  • Java 日期格式化星期
    Java日期格式化星期Java是一种广泛应用的编程语言,也是开发人员常用的工具之一。在Java中,日期和时间的处理是一个常见的任务。日期格式化是将日期和时间转换为特定格式的过程。在本文中,我们将探讨如何使用Java进行日期格式化,并重点介绍如何格式化星期。为什么要格式化星期?在很......
  • Java 取整可以被100整除
    Java取整与被100整除的科普在Java中,我们常常需要对数字进行取整操作。而有时候,我们需要确保一个数字是100的倍数。本文将介绍Java中取整的方法以及如何确保一个数字可以被100整除。取整方法在Java中,有多种取整的方法可以使用。下面我们将介绍四种常用的取整方法。向下取整(Fl......
  • Java 判断是否可以转化为数字
    Java判断是否可以转化为数字在Java中,我们经常需要判断一个字符串是否可以转化为数字。这在处理用户输入、数据校验以及数据转换等场景下十分常见。本文将介绍几种常用的方法来判断字符串是否可以转化为数字,并提供相关的代码示例。方法一:使用正则表达式正则表达式是一种强大的文......
  • Java 连接redis at java.io.FilterOutputStream.flush(FilterOutputStream.java:1
    了解RedisRedis(REmoteDIctionaryServer)是一个开源的、基于内存的数据结构存储系统,它支持多种数据结构,如字符串、哈希、列表、集合、有序集合等。Redis提供了丰富的功能和高性能的数据操作,使其成为一个流行的数据库和缓存解决方案。Redis提供了多种语言的客户端库,使开发人员......
  • Java 加载图片
    Java加载图片概述在Java开发中,我们经常需要在程序中加载和显示图片。本文将介绍如何使用Java实现加载图片的步骤和相应的代码示例。加载图片的步骤加载图片的过程可以分为以下几个步骤:步骤描述1.选择图片文件需要加载的图片文件可以是本地文件或者网络上的资......
  • Java 获取excel的路径
    Java获取Excel的路径在Java开发中,我们经常需要读取或处理Excel文件。而要操作Excel文件,首先需要获取Excel文件的路径。本文将介绍怎样使用Java获取Excel文件的路径。流程概述获取Excel文件的路径可以分为以下几个步骤:创建一个文件选择对话框。选择Excel文件并获取其路径。......
  • Java 反转map
    Java反转Map的实现背景介绍在Java开发中,经常会遇到需要对Map进行反转的情况。反转Map的意思是将Map中的键和值互换,即将原来的键作为新的值,原来的值作为新的键。本文将介绍如何使用Java来实现Map的反转功能。实现步骤下面是实现Map反转的步骤,我们可以用表格展......
  • Java 二进制接收
    Java二进制接收实现指南1.流程概述在Java中实现二进制接收通常需要经过以下步骤:步骤描述1创建一个服务器端和一个客户端2服务器端监听指定端口,等待客户端连接3客户端连接到服务器端4服务器端接收二进制数据5服务器端处理接收到的二进制数据6客户......
  • Java 对json排序
    Java对JSON排序在日常的开发中,我们经常需要将JSON数据进行排序,以满足业务需求或者提高查询效率。本文将介绍如何使用Java对JSON数据进行排序,并提供示例代码帮助理解。什么是JSON?JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,常用于前后端数据传输。它以......
  • Java 打印在控制台 方法
    Java打印在控制台的方法在Java编程语言中,控制台是一种常用的输出方式。它允许程序员在调试和开发过程中查看程序的输出结果。本文将介绍几种在Java中打印输出的方法,并提供相应的代码示例。1.使用System.out.println()System.out.println()是Java中最常用的打印输出方法之一。......