請問如何得到上一個月的最後一天呢?

本文介绍如何使用Java进行日期和时间的操作,包括获取指定日期的最后一天、上个月的最后一天等实用方法。通过示例代码展示了如何利用Calendar类和SimpleDateFormat类实现这些功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


public static String ss(){
Calendar cal=Calendar.getInstance();//当前日期
cal.set(Calendar.DATE,1);//设为当前月的1号
cal.add(Calendar.DATE,-1);//减一天,变为上月最后一天
SimpleDateFormat simpleDateFormat = new SimpleDateFormat( "yyyy-MM-dd ");
return simpleDateFormat.format(cal.getTime());//输出2005-04-30


}




package com.java.page;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Test {
public static void main(String[] args) {

Calendar cal=Calendar.getInstance();//当前日期
// cal.set(Calendar.DATE,1);//设为当前月的1号
// cal.add(Calendar.DATE,-1);//减一天,变为上月最后一天
System.out.println("现在的时间是:"+Calendar.MONTH);
int n=5;
String[] str = {"1月31号","2月29号","3月31号","4月30号","5月31号","6月30号","7月31号","8月31号","9月30号","10月31号","11月30号","12月31号"};
for(int i=0;i<12;i++){
if((cal.get(Calendar.MONTH)+1)==i){
System.out.println(str[i-1]);
}

}
if(Calendar.MONTH==5){

cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DAY_OF_MONTH));
SimpleDateFormat simpleDateFormat = new SimpleDateFormat( "yyyy-MM-dd ");
simpleDateFormat.format(cal.getTime());//输出2005-04-30

System.out.println("现在的时间是:"+simpleDateFormat.format(cal.getTime()));
}

}

}






package com.java.page;

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


public class Student {

public static void main(String args[])throws Exception{
// Calendar cal=Calendar.getInstance();
// cal.set(Calendar.MONTH, 6);
// cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DAY_OF_MONTH));
// System.out.println(cal.getTime());
System.out.println(getLastDay());
System.out.println(getLastDayOfLastMonth());
System.out.println("---------"+ss());
System.out.println("=========="+sd());

}
public static String getLastDay(){

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();//此时打印它获取的是系统当前时间
calendar.add(Calendar.DATE, -1); //
Date theDate = calendar.getTime();
String s = df.format(theDate);
System.out.println(s);

return s;

}
public static Date getLastDayOfLastMonth() {
Calendar calendar = new GregorianCalendar();
calendar.set(Calendar.DATE, 1);
calendar.set(Calendar.HOUR, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
long mils = calendar.getTime().getTime();
mils -= 24 * 60 * 60 * 1000;
return new Date(mils);
}
public static String ss(){
Calendar cal=Calendar.getInstance();//当前日期
cal.set(Calendar.DATE,1);//设为当前月的1号
cal.add(Calendar.DATE,-1);//减一天,变为上月最后一天
SimpleDateFormat simpleDateFormat = new SimpleDateFormat( "yyyy-MM-dd ");
return simpleDateFormat.format(cal.getTime());//输出2005-04-30


}
public static String sd(){
//Calendar cal=Calendar.getInstance();
Calendar cal=new GregorianCalendar(2000,2,1);
cal.add(Calendar.MONTH,-1);
return "2000年3月1号的上个月份最后一天是 "+cal.getActualMaximum(Calendar.DAY_OF_MONTH);

}


}





package com.java.page;

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

public class Hello {
public static void main(String args[]){
Calendar cal=Calendar.getInstance();
System.out.println(cal.get(Calendar.YEAR)+"年");
System.out.println(cal.get(Calendar.MONTH)+1+"月");
System.out.println(cal.get(Calendar.DATE)+"日");
System.out.println("<br/>");
java.util.Date date=new java.util.Date();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM");
String nowm=sdf.format(date);
System.out.println("现在的时间是:"+nowm);
}

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值