首页 > 编程语言 >在Java中,如果一个日期是字符串类型的"2023-01",怎样获取前一个月

在Java中,如果一个日期是字符串类型的"2023-01",怎样获取前一个月

时间:2023-10-25 11:03:02浏览次数:33  
标签:01 Java time 日期 DateTimeFormatter 2023 字符串 java LocalDate

在Java中,如果一个日期是字符串类型的"2023-01",你可以使用java.time包中的类来处理日期。以下是一个示例代码,演示如何获取前一个月的字符串类型的月份:

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

public class Main {
    public static void main(String[] args) {
        // 字符串类型的日期
        String dateStr = "2023-01";

        // 定义日期格式
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM");

        // 将字符串类型的日期解析为LocalDate对象
        LocalDate date = LocalDate.parse(dateStr, formatter);

        // 获取前一个月的日期
        LocalDate previousMonth = date.minusMonths(1);

        // 格式化为字符串类型的月份
        String previousMonthStr = previousMonth.format(formatter);

        // 提取前一个月的字符串类型的月份
        String previousMonthOnly = previousMonthStr.substring(5);

        // 输出结果
        System.out.println(previousMonthOnly);
    }
}

该代码将输出前一个月的字符串类型的月份,例如如果输入的日期是"2023-01",那么输出结果将是"12"。请注意,这里使用了java.time.LocalDatejava.time.format.DateTimeFormatter来处理日期和格式化输出。

标签:01,Java,time,日期,DateTimeFormatter,2023,字符串,java,LocalDate
From: https://blog.51cto.com/u_16007699/8015554

相关文章

  • 使用Java 8的Stream API来对集合中的数据根据id去重并且同一个id只取符合条件的那一个
    `ListdataList=newArrayList<>();dataList.add(newData(1,"A"));dataList.add(newData(2,"B"));dataList.add(newData(1,"C"));dataList.add(newData(3,"D"));Map<Integer,Data>filteredMap=d......
  • java加密解密
    packagecom.pg;importcom.pg.utils.CommonUtils;importcom.sun.org.apache.xerces.internal.impl.dv.util.Base64;importjavax.crypto.BadPaddingException;importjavax.crypto.Cipher;importjavax.crypto.IllegalBlockSizeException;importjavax.crypto.NoSuch......
  • 合并两个有序数组(JAVA)
    题外话在我个人的思路视角里,遇到这种排序问题总是会在脑子里产生一些画面感。让我将这些问题奔着一种奇妙的思路而去,也就是在我脑子里很简答,但难以在代码上复现,我觉得从本我的角度讲我也许天生不适合当一个高级程序员hhhh,但!我命由我不由天!题解题目给你两个按非递减顺序排列......
  • Java文件上传方式
    Java实现文件上传的方式有以下几种:1.通过JavaServlet实现文件上传:在Servlet中,可以通过HttpServletRequest对象的getPart()方法获取文件的Part对象,然后通过Part对象的write()方法将文件写入服务器。2.使用ApacheCommonsFileUpload库:这个库提供了一个简单的API,可以轻松地将文件......
  • centos7安装Docker(2023/10/24)
    centos7安装Docker(2023/10/24)一、安装前必读系统配置方面,这里使用的是Centos7Linux内核:官方建议3.10以上。注意:本文的命令使用的是root用户登录执行,非root用户所有命令前面要加sudo1.查看当前的内核版本1uname-r如图为3.10,满足条件。 2.使用root权限更......
  • Java 基础 05~ 12
    Java基础05~121.Java类型转换inti=128;byteb=(byte)i;// 格式System.out.println(i);//128System.out.println(b);//-128内存溢出​ PS:注意转换的等级,从低位往高位转没问题,从高位往低位转可能内存溢出2.变量、常量、作用域inta=1;Stringn......
  • [Leetcode] 0101. 对称二叉树
    101.对称二叉树题目描述给你一个二叉树的根节点root,检查它是否轴对称。 示例1:输入:root=[1,2,2,3,4,4,3]输出:true示例2:输入:root=[1,2,2,null,3,null,3]输出:false 提示:树中节点数目在范围[1,1000]内-100<=Node.val<=100 进阶:你可以运用递......
  • P2150 [NOI2015] 寿司晚宴
    写了两天。。。就是说,状态压缩DP可以不用显示写出考虑到第i个数,直接每次考虑加入一个数会对当前状态造成的影响即可。这道题发现了大质因数只有1个之后,就需要考虑有相同的大质因数之间的转移,和大质因数不同的之间的转移。然后会发现没有大质因数的数需要特殊处理……然后就好......
  • Java服务总在半夜挂,背后的真相竟然是...
    写在前面最近有用户反馈测试环境Java服务总在凌晨00:00左右挂掉,用户反馈Java服务没有定时任务,也没有流量突增的情况,Jvm配置也合理,莫名其妙就挂了问题排查问题复现为了复现该问题,写了个springboot的demo部署在测试环境,其中demo里只做了helloworld功能,应用类型为web_tomcat(war......
  • PAT_A1101 Quick Sort
    Thereisaclassicalprocessnamed partition inthefamousquicksortalgorithm.Inthisprocesswetypicallychooseoneelementasthepivot.Thentheelementslessthanthepivotaremovedtoitsleftandthoselargerthanthepivottoitsright.Given ......