Java获取上月份最后一天日期8位的示例代码

下面是Java获取上月份最后一天日期8位的示例代码攻略:

一、获取上月份最后一天的日期

一般情况下,获取任意月份的最后一天日期的代码如下:

Calendar calendar = Calendar.getInstance();
// 将日期设置为当月的1号
calendar.set(Calendar.DATE, 1);
// 月份-1,即可得到上个月的时间
calendar.add(Calendar.MONTH, -1);
// 最后调整日期到上个月的最后一天
calendar.add(Calendar.DATE, -1);
// 获取上个月最后一天的日期
Date lastDayOfLastMonth = calendar.getTime();

解析:首先,我们获取系统当前时间并创建 Calendar 对象。接着,我们将日期设置为当月1号,这里是为了便于计算上月份的最后一天日期。我们再将月份值减一,即可得到上个月的时间。最后,我们再将日期值调整为上个月份的最后一天,即可得到上月份的最后一天日期。

二、转换日期格式为8位

上面获得的最后一天日期为 java.util.Date 类型,如果想将它转换为8位的日期格式,例如 20221130,需要使用 SimpleDateFormat 对象进行格式化,代码如下:

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
String lastDayOfLastMonthStr = sdf.format(lastDayOfLastMonth);

解析:我们创建了一个 SimpleDateFormat 对象,格式化日期的格式为年月日 8 位字符串,即 "yyyyMMdd"。接下来,我们将上月份的最后一天日期格式化成8位字符串。

三、完整代码示例

将上述两步结合在一起,完整的示例代码如下:

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class GetLastDayOfLastMonth {
    public static void main(String[] args) {
        Calendar calendar = Calendar.getInstance();
        // 将日期设置为当月的1号
        calendar.set(Calendar.DATE, 1);
        // 月份-1,即可得到上个月的时间
        calendar.add(Calendar.MONTH, -1);
        // 最后调整日期到上个月的最后一天
        calendar.add(Calendar.DATE, -1);
        // 获取上个月最后一天的日期
        Date lastDayOfLastMonth = calendar.getTime();

        // 将日期格式化为8位字符串
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
        String lastDayOfLastMonthStr = sdf.format(lastDayOfLastMonth);

        System.out.println("上月份最后一天日期为:" + lastDayOfLastMonthStr);
    }
}

输出结果为:上月份最后一天日期为:20220630

四、多种写法示例

除了上面的示例代码,我们还可以使用其他的写法来获取上月份最后一天日期,下面给出两个不同的示例。

  1. LocalDate方式
import java.time.LocalDate;

public class GetLastDayOfLastMonth {
    public static void main(String[] args) {
        LocalDate localDate = LocalDate.now().minusMonths(1).withDayOfMonth(1).minusDays(1);

        System.out.println("上月份最后一天日期为:" + localDate.toString().replaceAll("-", ""));
    }
}

解析:这种写法运用了Java8的 LocalDate 类来获取当前时间上个月份的最后一天日期。首先,我们通过 LocalDate.now() 获取当前时间并减去一个月份。接下来,我们将日期设置为当月1号并减去一天即可得到上个月份的最后一天日期。最后,我们将日期字符串的中横线去除,以满足8位日期格式的要求。

  1. Joda-Time方式
import org.joda.time.DateTime;

public class GetLastDayOfLastMonth {
    public static void main(String[] args) {
        DateTime dateTime = new DateTime().minusMonths(1).dayOfMonth().withMaximumValue();

        System.out.println("上月份最后一天日期为:" + dateTime.toString("yyyyMMdd"));
    }
}

解析:这种写法使用了Joda-Time开源库来获取上月份的最后一天日期。我们通过 DateTime 获取当前时间并减去一个月份,然后调用 dayOfMonth() 设置日期为当月1号,最后调用 withMaximumValue() 设置日期为当月最后一天。最后,我们将日期格式化为8位日期字符串。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java获取上月份最后一天日期8位的示例代码 - Python技术站

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

相关文章

  • Spring Security用户定义 

    关于“Spring Security 用户定义”的完整攻略,我会分为以下几个步骤来进行讲解: 理解 Spring Security 用户定义的含义和作用; 在项目中集成 Spring Security,并进行用户定义; 通过两个示例说明如何进行 Spring Security 用户定义。 下面,我们将逐一进行讲解。 一、Spring Security 用户定…

    Java 2023年6月3日
    00
  • 详解Java语言中一个字符占几个字节?

    当谈到Java字符的字节数时,需要考虑字符集的影响。Java中默认的字符集是UTF-16,而不是8位的ASCII字符集。 在Java中,一个字符占用2个字节(16位),因为Java中的char数据类型是16位宽的。这意味着,无论字符实际需要多少字节存储,Java都会分配16位空间来存储它。注意:这不仅适用于Unicode字符,也适用于ASCII字符。 下面是…

    Java 2023年5月20日
    00
  • springboot如何关掉tomcat容器

    要关闭 Spring Boot 内嵌的 Tomcat 容器,我们可以通过修改 application.properties 或者 application.yml 文件来配置。下面是具体的步骤: 在 application.properties 文件中添加以下配置: server.shutdown=graceful 或在 application.yml 文件中…

    Java 2023年5月19日
    00
  • Java反转字符串和相关字符编码的问题解决

    下面我将为你详细讲解Java反转字符串和相关字符编码的问题解决的完整攻略。 1. 反转字符串 Java反转字符串有多种方法,以下是两种示例。 1.1 使用StringBuilder String str = "hello world"; StringBuilder sb = new StringBuilder(str); String r…

    Java 2023年5月20日
    00
  • spring mvc实现文件上传与下载功能

    Spring MVC实现文件上传与下载功能 Spring MVC是一个非常流行的Java Web框架,它提供了很多方便的功能,其中包括文件上传和下载。本文将详细讲解如何使用Spring MVC实现文件上传和下载功能,并提供两个示例来说明如何实现这一过程。 文件上传 文件上传是Web应用程序中常见的功能之一。Spring MVC提供了很多方便的类和注解来处理文…

    Java 2023年5月17日
    00
  • eclipse如何搭建Springboot项目详解

    Eclipse如何搭建Spring Boot项目 介绍 Spring Boot是一种新型的Java开发框架,可以快速构建基于Spring的应用程序。 它可以帮助你更容易地建立Spring应用,并且使用独立的Spring运行时环境来结构化、测试和部署Spring Boot应用程序。 这里将介绍如何使用Eclipse搭建一个Spring Boot项目。 步骤 第…

    Java 2023年5月19日
    00
  • SpringBoot项目启动时增加自定义Banner的简单方法

    Spring Boot项目启动时增加自定义Banner的简单方法 在Spring Boot项目启动时,我们可以增加自定义Banner,用于展示项目的Logo、名称、版本等信息。在本文中,我们将详细讲解如何增加自定义Banner,包括如何使用文本Banner和如何使用图片Banner。 使用文本Banner 使用文本Banner是最简单的方法,我们只需要在项目…

    Java 2023年5月15日
    00
  • mybatis入门_动力节点Java学院整理

    MyBatis入门:动力节点Java学院整理 本文将向读者介绍如何快速入门MyBatis框架,并提供相关学习资源和示例代码,希望对初学者有所帮助。 MyBatis框架简介 MyBatis是一款流行的ORM框架,可以与各种主流的数据库进行集成,例如MySQL、Oracle、SQLServer等。它的主要特点是将SQL语句与Java代码分离,使用XML描述SQL…

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