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日

相关文章

  • Java实现按行分割大文件

    以下是Java实现按行分割大文件的完整攻略,包含步骤、代码示例和输出结果。 步骤一:准备工作 首先,需要导入Java中的IO包,以便读取和处理文件。 import java.io.*; 接着,需要定义一个方法来实现按行分割文件,命名为splitByLine。 public static void splitByLine(String fileName, in…

    Java 2023年5月20日
    00
  • SpringBoot入门系列之JPA mysql

    下面我来介绍一下“SpringBoot入门系列之JPA mysql”的完整攻略。 1. 简介 JPA(Java Persistence API)是一种JavaEE的标准ORM(对象关系映射)规范。Spring Boot集成JPA,可以让我们使用简单、方便的API操作数据库,从而提高开发效率。 2. 准备工作 在使用Spring Boot集成JPA进行MySQ…

    Java 2023年5月20日
    00
  • Java SpringBoot安全框架整合Spring Security详解

    Java Spring Boot安全框架整合Spring Security详解 Spring Security是一个基于Spring框架的安全框架,它提供了一系列的安全服务,包括认证、授权、攻击防护等。在Java Spring Boot应用程序中,整合Spring Security可以帮助我们更好地保护应用程序的安全性。本文将详细介绍如何在Java Spri…

    Java 2023年5月15日
    00
  • Java正则判断日期格式是否正确的方法示例

    下面是关于Java正则判断日期格式是否正确的方法示例的完整攻略。 步骤一: 导入相关类库 在使用正则表达式的时候,我们需要使用Java自带的正则表达式类来完成相关操作。因此,我们需要先在代码中导入相关类库。具体代码如下: import java.util.regex.Matcher; import java.util.regex.Pattern; 步骤二: …

    Java 2023年5月20日
    00
  • Java集合-HashMap

    Java集合-HashMap HashMap是Java集合框架中最常用的数据结构之一,它基于哈希表实现,在插入、删除、查找等操作上具有很高效的表现。本文将详细讲解HashMap的使用方法和具体实现。 HashMap的特点 HashMap是一种无序的数据结构,它存储的键值对是没有顺序的。 它允许一条记录的键和值来自不同的映射表,例如,键可以是String类型,…

    Java 2023年5月26日
    00
  • Java入门基础之Java的基本语法与Java所支持的数据类型

    Java是一种面向对象的编程语言,为了学好Java,首先要掌握Java的基本语法和数据类型。 一、Java的基本语法 Java的基本语法包括变量、运算符、控制流程和函数等。 1. 变量 Java中的变量需要先声明然后再使用,变量必须指定类型。Java变量可以分为两类:基本类型和引用类型。 Java的基本类型有八种,分别是:byte、short、int、lon…

    Java 2023年5月23日
    00
  • python实现数独算法实例

    python实现数独算法实例 介绍 数独是一种流行的逻辑游戏,也是计算机科学中常见的算法和数据结构问题。本文将介绍基于python实现数独算法的完整攻略。 算法原理 数独算法的原理可以归纳为两部分: 约束传播(Constraint Propagation)——基于已知的数推断未知的数; 回溯(Backtracking)——在没有更多的约束传播时,回溯到之前的…

    Java 2023年5月30日
    00
  • Java笛卡尔积算法原理与实现方法详解

    Java笛卡尔积算法原理与实现方法详解 什么是笛卡尔积 笛卡尔积,又称直积,是数学中的一种运算,将两个集合中的元素进行逐一组合,得到一个新的集合。比如集合 A = {1,2},集合 B = {a,b},则它们的笛卡尔积为 {(1,a),(1,b),(2,a),(2,b)}。 在计算机科学中,笛卡尔积算法可以用来解决组合优化问题,如排列组合、数据关联等。Jav…

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