java Date获取本月的开始时间与结束时间

获取本月开始时间和结束时间可以通过Java中的Date类和Calendar类来实现。

获取本月开始时间

// 获取当前日期
Date date = new Date();

// 创建Calendar实例并设置日期为当前日期
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);

// 将日历的日期设置为本月的第一天
calendar.set(Calendar.DAY_OF_MONTH, 1);

// 将时分秒毫秒设置为0,即开始时间为当天0点
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);

// 获取本月开始时间
Date firstDayOfMonth = calendar.getTime();

在上面的代码中,首先获取当前日期,然后创建一个Calendar实例并将日期设置为当前日期。接下来将日历的日期设置为本月的第一天,并且将时分秒毫秒设置为0,即将时间调整为当天0点。最后通过调用Calendar的getTime()方法获取Date类型的本月开始时间。

获取本月结束时间

// 获取当前日期
Date date = new Date();

// 创建Calendar实例并设置日期为当前日期
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);

// 将日历的日期设置为下个月的第一天
calendar.set(Calendar.MONTH, calendar.get(Calendar.MONTH) + 1);
calendar.set(Calendar.DAY_OF_MONTH, 1);

// 将时分秒毫秒设置为0,即结束时间为当天0点
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);

// 减去1毫秒,获取本月结束时间
Date lastDayOfMonth = new Date(calendar.getTimeInMillis() - 1);

在上面的代码中,和获取本月开始时间类似,首先获取当前日期,然后创建一个Calendar实例并将日期设置为当前日期。接下来将日历的日期设置为下一个月的第一天,并且将时分秒毫秒设置为0,即将时间调整为当天0点。最后减去1毫秒,即可得到本月的最后一刻,也就是本月结束的时间。

以下是一个完整的示例代码:

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

public class Main {
    public static void main(String[] args) {
        // 获取当前时间
        Date date = new Date();
        System.out.println("当前时间:" + date);

        // 获取本月开始时间
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.set(Calendar.DAY_OF_MONTH, 1);
        calendar.set(Calendar.HOUR_OF_DAY, 0);
        calendar.set(Calendar.MINUTE, 0);
        calendar.set(Calendar.SECOND, 0);
        calendar.set(Calendar.MILLISECOND, 0);
        Date firstDayOfMonth = calendar.getTime();
        System.out.println("本月开始时间:" + firstDayOfMonth);

        // 获取本月结束时间
        calendar.set(Calendar.MONTH, calendar.get(Calendar.MONTH) + 1);
        calendar.set(Calendar.DAY_OF_MONTH, 1);
        calendar.set(Calendar.HOUR_OF_DAY, 0);
        calendar.set(Calendar.MINUTE, 0);
        calendar.set(Calendar.SECOND, 0);
        calendar.set(Calendar.MILLISECOND, 0);
        Date lastDayOfMonth = new Date(calendar.getTimeInMillis() - 1);
        System.out.println("本月结束时间:" + lastDayOfMonth);
    }
}

输出结果如下:

当前时间:Thu Oct 21 11:17:13 CST 2021
本月开始时间:Wed Oct 20 00:00:00 CST 2021
本月结束时间:Mon Nov 01 00:00:00 CST 2021

以上是获取本月开始时间和结束时间的完整攻略。

阅读剩余 51%

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java Date获取本月的开始时间与结束时间 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • Springboot mybatis plus druid多数据源解决方案 dynamic-datasource的使用详解

    关于“Springboot mybatis plus druid多数据源解决方案 dynamic-datasource的使用详解”的攻略,我会从以下几个方面进行讲解: 什么是多数据源 动态数据源的原理 Springboot mybatis plus druid多数据源解决方案 示例1:在一个Spring Boot项目中使用多数据源 示例2:在一个基于Spri…

    Java 2023年5月20日
    00
  • 详解Linux下JDK、Tomcat的安装及配置

    下面是详解Linux下JDK、Tomcat的安装及配置的完整攻略。 1. 确定安装路径 在安装JDK和Tomcat之前,需要先确定它们的安装路径。一般情况下,我们将它们安装在 /opt 目录下: $ sudo mkdir /opt/java /opt/tomcat 2. 安装JDK 2.1 下载JDK 从Oracle官网下载JDK二进制文件,下载地址为:ht…

    Java 2023年5月19日
    00
  • Json优缺点及使用介绍

    Json优缺点及使用介绍 Json是什么 JSON(JavaScript Object Notation,即 Javascript 对象表示法)是一种轻量级的数据交换格式,它是以文本形式表示数据,适用于存储和传输数据。 JSON格式具有可读性高、占用空间小、易于处理等优点,因此被广泛用于Web应用程序和移动应用程序的数据交换。 JSON的格式基于JavaSc…

    Java 2023年5月26日
    00
  • Java中几种常用数据库连接池的使用

    Java中几种常用数据库连接池的使用 数据库连接池是一个管理数据库连接的缓存机制,能够减少应用程序每次请求时打开和关闭数据库连接所消耗的时间,从而提高数据库的性能和吞吐量。Java中常用的数据库连接池有以下几种: Apache Commons DBCP C3P0 HikariCP 下面我们将介绍如何使用以上三种数据库连接池以及它们之间的比较。 Apache …

    Java 2023年6月15日
    00
  • jQuery Validate验证框架经典大全

    jQuery Validate验证框架是一款针对网页表单验证的插件,它能够轻松实现对用户输入数据的有效性验证和错误提示,并且可轻松定制化。 安装jQuery Validate 安装 jQuery Validate 需要在Web项目中引入jQuery和jQuery Validate插件的代码,如下所示: <head> <script src=…

    Java 2023年6月15日
    00
  • Java实现字符串解析为日期时间的方法示例

    引言 在Java中,字符串转日期时间是经常使用的操作之一。本文将讲解利用Java实现字符串解析为日期时间的方法示例。 问题概述 在Java中,我们可以通过SimpleDateFormat类来实现字符串解析为日期时间的目的。SimpleDateFormat是一个日期格式化类,通过指定的日期格式将日期转换为字符串,或将字符串按指定格式解析为日期。可以使用Simp…

    Java 2023年5月20日
    00
  • 如何避免Java内存溢出?

    如何避免Java内存溢出? Java内存溢出问题是Java开发中常见的问题之一。解决这类问题需要从以下方面考虑: 内存分配问题 内存泄漏问题 内存计算问题 下面我们分别来看一下如何避免Java内存溢出问题。 一、内存分配问题 在Java中,内存分配通过JVM自动管理。如果JVM配置不当,就会导致内存分配问题。 JVM内存配置Java应用使用的内存由JVM进行…

    Java 2023年5月11日
    00
  • JVM工作原理和工作流程简述

    JVM工作原理和工作流程简述 JVM是Java虚拟机的缩写,是一种Java应用程序的运行环境。JVM的主要作用是将编写好的Java程序分解成字节码文件,然后在JVM中解释执行这些字节码,最终将结果输出。JVM具有跨平台、可移植、安全、动态性等优点,广泛应用于计算机领域。下面将对JVM工作原理和工作流程进行简述。 JVM工作原理 JVM的工作原理主要包括以下几…

    Java 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部