java获取当前月第一天和最后一天,上个月第一天和最后一天
1 package com.test.packager; 2 3 import java.text.ParseException; 4 import java.text.SimpleDateFormat; 5 import java.util.Calendar; 6 7 public class Test { 8 private static String firstDay; 9 private static String lastDay; 10 public static void main(String[] args) { 11 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); 12 13 //获取前月的第一天 14 Calendar cal_1=Calendar.getInstance();//获取当前日期 15 cal_1.add(Calendar.MONTH, -1); 16 cal_1.set(Calendar.DAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天 17 firstDay = format.format(cal_1.getTime()); 18 System.out.println("-----1------firstDay:"+firstDay); 19 //获取前月的最后一天 20 Calendar cale = Calendar.getInstance(); 21 cale.set(Calendar.DAY_OF_MONTH,0);//设置为1号,当前日期既为本月第一天 22 lastDay = format.format(cale.getTime()); 23 System.out.println("-----2------lastDay:"+lastDay); 24 25 26 //获取当前月第一天: 27 Calendar c = Calendar.getInstance(); 28 c.add(Calendar.MONTH, 0); 29 c.set(Calendar.DAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天 30 String first = format.format(c.getTime()); 31 System.out.println("===============first:"+first); 32 33 //获取当前月最后一天 34 Calendar ca = Calendar.getInstance(); 35 ca.set(Calendar.DAY_OF_MONTH, ca.getActualMaximum(Calendar.DAY_OF_MONTH)); 36 String last = format.format(ca.getTime()); 37 System.out.println("===============last:"+last); 38 39 } 40 /** 41 * 字符串的日期格式的计算 42 */ 43 public static int daysBetween(String smdate,String bdate) throws ParseException{ 44 SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); 45 Calendar cal = Calendar.getInstance(); 46 cal.setTime(sdf.parse(smdate)); 47 long time1 = cal.getTimeInMillis(); 48 cal.setTime(sdf.parse(bdate)); 49 long time2 = cal.getTimeInMillis(); 50 long between_days=(time2-time1)/(1000*3600*24); 51 return Integer.parseInt(String.valueOf(between_days)); 52 } 53 }

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律