首页 > 编程语言 >Java 获取上月年月

Java 获取上月年月

时间:2023-07-19 16:31:36浏览次数:37  
标签:年份 Java 获取 上个月 Calendar LocalDate

Java 获取上月年月

在Java中,如何获取上个月的年份和月份呢?本文将通过示例代码详细介绍几种方法。

方法一:使用Calendar类

Java中的Calendar类提供了获取日期和时间的各种方法,包括获取当前日期、增加或减少日期、获取特定日期等。我们可以使用Calendar类来获取上个月的年份和月份。

import java.util.Calendar;

public class LastMonth {
    public static void main(String[] args) {
        Calendar cal = Calendar.getInstance();
        cal.add(Calendar.MONTH, -1);  // 减去一个月
        int year = cal.get(Calendar.YEAR);
        int month = cal.get(Calendar.MONTH) + 1;  // 月份从0开始计数,需要加1
        System.out.println("上个月的年份:" + year);
        System.out.println("上个月的月份:" + month);
    }
}

上述代码中,我们首先通过Calendar.getInstance()方法获取当前的Calendar实例,然后使用add()方法将日期减去一个月,再通过get()方法获取上个月的年份和月份。由于Calendar类中的月份从0开始计数,所以需要将获取到的月份值加1。

方法二:使用LocalDate类

Java 8引入了新的日期和时间API,其中的LocalDate类提供了更简洁易用的方法来处理日期。我们可以使用LocalDate类来获取上个月的年份和月份。

import java.time.LocalDate;

public class LastMonth {
    public static void main(String[] args) {
        LocalDate now = LocalDate.now();
        LocalDate lastMonth = now.minusMonths(1);
        int year = lastMonth.getYear();
        int month = lastMonth.getMonthValue();
        System.out.println("上个月的年份:" + year);
        System.out.println("上个月的月份:" + month);
    }
}

上述代码中,我们首先使用LocalDate.now()方法获取当前的日期,然后使用minusMonths()方法将日期减去一个月,再通过getYear()getMonthValue()方法获取上个月的年份和月份。

方法三:使用SimpleDateFormat类

Java中的SimpleDateFormat类可以将日期格式化为指定的字符串。我们可以使用SimpleDateFormat类来获取上个月的年份和月份。

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

public class LastMonth {
    public static void main(String[] args) {
        Calendar cal = Calendar.getInstance();
        cal.add(Calendar.MONTH, -1);  // 减去一个月
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
        String lastMonth = sdf.format(cal.getTime());
        System.out.println("上个月:" + lastMonth);
    }
}

上述代码中,我们首先通过Calendar.getInstance()方法获取当前的Calendar实例,然后使用add()方法将日期减去一个月。接下来,我们创建一个SimpleDateFormat对象,并指定日期格式为"yyyy-MM"。最后,通过format()方法将Calendar对象格式化为字符串,即上个月的年份和月份。

以上是三种常用的方法来获取上个月的年份和月份。根据实际需求,选择适合的方法即可。希望本文能对你理解Java中获取上个月的年份和月份有所帮助。

参考链接:[Java Calendar类文档](

标签:年份,Java,获取,上个月,Calendar,LocalDate
From: https://blog.51cto.com/u_16175507/6777696

相关文章

  • Java包机制
    包机制-为了更好地组织类,Java提供了包机制,用于区别类名的命名空间-包语句的语法格式为packagepkg1[.pkg2[.pkg3...]]-一般利用公司域名倒置作为包名www.baidu.comcom.baidu.www-为了能够使用某个包的成员,我们需要在Java程序中明确导入该包,使用"import"语句即可-......
  • Java学习day05~06: 面向对象
    我在B站上大学......
  • Java运算符
    Java运算符-Java语言支持如下运算符:优先级()1算术运算符:+,-,*,/,%,++,--,2赋值运算符:=3关系运算符:>,<,>=,<=,==,!=instanceof4逻辑运算符:&&,||,!5位运算符:&,|,^,~,>>,<<,>>>(了解)6条件运算符:?:7扩展赋值运算符:+=,-=,*=,/=pa......
  • JavaScript实现,判断一个点是否在多边形内
    //定义点的结构体functionpoint(){this.x=0;this.y=0;}//计算一个点是否在多边形里,参数:点,多边形数组functionPointInPoly(pt,poly){for(varc=false,i=-1,l=poly.length,j=l-1;++i<l;j=i)((poly[i].y<=pt.y&&pt.y<p......
  • java - 支持word上传的富文本编辑器
    ​ 这种方法是servlet,编写好在web.xml里配置servlet-class和servlet-mapping即可使用后台(服务端)java服务代码:(上传至ROOT/lqxcPics文件夹下)<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%@     page contentType="text/html;cha......
  • Android编译报错Caused by: java.lang.RuntimeException: Manifest merger failed wit
    Android编译报错Causedby:java.lang.RuntimeException:Manifestmergerfailedwithmultiple这种异常一般是引用了aar,如果项目中的manifestapplication配置和aar中不一样就会报错,比如android:icon和aar中不一致,则添加tools:replace="android:icon"配置即可。......
  • 解决雪花Id获取时精度丢失问题
    这里拿.NetCore6来做演示在Program.cs中加入如下代码:builder.Services.AddControllersWithViews().AddNewtonsoftJson(options=>{//循环引用options.SerializerSettings.ReferenceLoopHandling=Newtonsoft.Json.ReferenceLoopHandling.Ignore;//空值处理......
  • Java自带的jvisualVM简单介绍
    首先来介绍下visualVM的工作原理:VisualVM是一款Java虚拟机监控和分析工具,它可以帮助开发人员实时监控Java应用程序的性能和内存使用情况。VisualVM的工作原理是基于jJava虚拟机提供的JavaManagementExtensions(JMX)技术。JMX是一种Java平台的管理和监控技术,它......
  • 图片元信息Exif(Exchangeable Image File)的获取和修改
    我们进行图片分类,做一些人工智能的项目或者利用Python来对图片进行分类,都可以利用到Exif信息。什么是Exif?Exif是一种图像文件格式,实际上Exif格式就是在JPEG格式头部插入了数码照片的信息,包括拍摄时的光圈、快门、白平衡、ISO、焦距、日期时间等各种和拍摄条件以及相机品牌、......
  • 小结_第一个Java程序
    总结:Java程序的编写与执行:步骤1:编写.在后缀名为.java的文件中编写Java代码,该文件称为源文件步骤2:编译.针对后缀名为.java源文件进行编译,生成字节码文件.格式:javac源文件名.java步骤3:运行.针对于编译后生成的字节码文件,进行解释运行.格式:java字节码......