首页 > 编程语言 >JAVA获取上月、本月的第一天和最后一天

JAVA获取上月、本月的第一天和最后一天

时间:2023-06-07 11:55:53浏览次数:41  
标签:lastMonthEndDateCal map JAVA 第一天 format MONTH 获取 Calendar DAY

1、获取【上个月】第一天和上个月最后一天

/**
 * 获取上个月第一天和上个月最后一天
 *
 * @throws ParseException
 */
public static Map<String, String> getLastOneMonthDay() {
    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
    Map<String, String> map = new HashMap<>();
    
    // 上月起始
    Calendar lastMonthFirstDateCal = Calendar.getInstance();
    lastMonthFirstDateCal.add(Calendar.MONTH, -1);
    lastMonthFirstDateCal.set(Calendar.DAY_OF_MONTH, 1);
    String lastMonthFirstTime = format.format(lastMonthFirstDateCal.getTime());
    System.out.println("上月起始:" + lastMonthFirstTime);
    
    // 上月末尾
    Calendar lastMonthEndDateCal = Calendar.getInstance();
    lastMonthEndDateCal.add(Calendar.MONTH, -1);
    lastMonthEndDateCal.set(Calendar.DAY_OF_MONTH, lastMonthEndDateCal.getActualMaximum(Calendar.DAY_OF_MONTH));
    String lastMonthEndTime = format.format(lastMonthEndDateCal.getTime());
    System.out.println("上月末尾:" + lastMonthEndTime);
    
    map.put("beginDate", lastMonthFirstTime);
    map.put("endDate", lastMonthEndTime);
    return map;
}

 

2、获取【当月】第一天和上个月最后一天

/**
 * 获取当月第一天和上个月最后一天
 *
 * @throws ParseException
 */
public static Map<String, String> getNowOneMonthDay() {
    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
    Map<String, String> map = new HashMap<>();
    
    // 本月起始
    Calendar thisMonthFirstDateCal = Calendar.getInstance();
    thisMonthFirstDateCal.set(Calendar.DAY_OF_MONTH, 1);
    String thisMonthFirstTime = format.format(thisMonthFirstDateCal.getTime());
    System.out.println("本月起始:" + thisMonthFirstTime);
    
    // 本月末尾
    Calendar thisMonthEndDateCal = Calendar.getInstance();
    thisMonthEndDateCal.set(Calendar.DAY_OF_MONTH, thisMonthEndDateCal.getActualMaximum(Calendar.DAY_OF_MONTH));
    String thisMonthEndTime = format.format(thisMonthEndDateCal.getTime());
    System.out.println("本月末尾:" + thisMonthEndTime);

    map.put("beginDate", thisMonthFirstTime);
    map.put("endDate", thisMonthEndTime);
    return map;
}

 

标签:lastMonthEndDateCal,map,JAVA,第一天,format,MONTH,获取,Calendar,DAY
From: https://www.cnblogs.com/hunttown/p/17462952.html

相关文章

  • Java中如何动态创建接口的实现
    下面用JDK动态代理加一点简单的代码来演示这个过程:1、接口packagecom.yhouse.modules.daos;publicinterfaceIUserDao{publicStringgetUserName();}2、创建代理 packagecom.yhouse.modules.daos;importjava.lang.reflect.Proxy;/***创建代理*@authorcl......
  • java.lang.OutOfMemoryError:GC overhead limit exceeded异常
    java.lang.OutOfMemoryError异常解决方法 原因:常见的有以下几种:1.内存中加载的数据量过于庞大,如一次从数据库取出过多数据;2.集合类中有对对象的引用,使用完后未清空,使得JVM不能回收;3.代码中存在死循环或循环产生过多重复的对象实体;4.使用的第三方软件中的BUG;5.启动参数内存......
  • js 获取函数的调用者
    办法严格模式arguments.callee.caller不给使用了歪路子截取newError()的报错字符串stackconstgetCall=()=>{letcallArr=newError().stack.split("\n");callArr.splice(0,3);constpattern=/at(\w+)/;callArr=callArr.map(it=>(it.match(patt......
  • JAVA基础知识总结系列:JAVA封装
    封装(面向对象特征之一):是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。好处:将变化隔离;便于使用;提高重用性;安全性。封装原则:将不需要对外提供的内容都隐藏起来,把属性都隐藏,提供公共方法对其访问。this:代表对象。就是所在函数所属对象的引用。this到底代表什么呢?哪个对象......
  • 【HarmonyOS】【ArkTS】如何使用HTTP网络请求获取动态数据刷新UI界面
    【关键字】HttpRequest、ArkTS、网络数据请求、@ohos.net.http【前言】在使用ArkTS开发HarmonyOS应用时,需要调用HTTP网络请求 @ohos.net.http 动态获取数据,进行UI列表刷新,这想必是应用开发最常见的功能。但是根据官网网络请求的示例代码进行功能开发时,封装方法进行HTTP请求后,返回......
  • 【HarmonyOS】【ArkTS】如何使用HTTP网络请求获取动态数据刷新UI界面
    ​【关键字】HttpRequest、ArkTS、网络数据请求、@ohos.net.http 【前言】在使用ArkTS开发HarmonyOS应用时,需要调用HTTP网络请求 @ohos.net.http 动态获取数据,进行UI列表刷新,这想必是应用开发最常见的功能。但是根据官网网络请求的示例代码进行功能开发时,封装方法进行HTTP......
  • 循环中调用异步接口获取数据
      //查询人员列表  asyncgetPersonList(){   const_this=this;   constdata=awaitgetPersonList(this.formSearch);   console.log("data",data);   varpromiseList=[];   data.forEach((element,inds)=>{   ......
  • python3 获取上个月、前几月、当前月的时间
    #!/usr/bin/envpython#-*-coding:utf-8-*-importcalendarfromdatetimeimportdatetimefromdateutil.relativedeltaimportrelativedelta#获取当前月defget_cur_month():returndatetime.now().strftime("%Y-%m")#获取前几个月defget_last_month(......
  • JavaScript上传文件
    效果实现无论是上传文件还是上传图片,用的都是input标签的type="file";input标签触发onChange事件时,会接受input元素本身作为参数,元素对象的files属性,值是fileList(即文件列表,列表中是一个个文件对象,文件对象包括文件的名称,大小等);有了文件列表之后,需要创建一个FileReader对象......
  • 使用sql获取目标表字段
    使用sql获取目标表字段selectowner,table_name,to_char(column_name)AScolumn_namec.TABLE_NAME,listagg(c.COLUMN_name||''||case......