//获取前月的第一天SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd"); //获取当前月第一天:Calendar c = Calendar.getInstance();String first = null;//第一天String last = null;//第二天//判断获取的参数如果为-1if(month.equals("-1")){c.add(Calendar.MONTH, -1);c.set(Calendar.DAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天 first = sdf.format(c.getTime());//获取上月的最后一天Calendar calendar = Calendar.getInstance();calendar.set(Calendar.DAY_OF_MONTH, 1); calendar.add(Calendar.DATE, -1);last = sdf.format(calendar.getTime());}else{c.add(Calendar.MONTH, 0);c.set(Calendar.DAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天 first = sdf.format(c.getTime());//获取当前月最后一天Calendar ca = Calendar.getInstance();    ca.set(Calendar.DAY_OF_MONTH, ca.getActualMaximum(Calendar.DAY_OF_MONTH));  last = sdf.format(ca.getTime());}//循环时间段Date startDate = sdf.parse(first);Date endDate = sdf.parse(last);Calendar start = Calendar.getInstance();start.setTime(startDate);Long statTime = start.getTimeInMillis();Calendar end = Calendar.getInstance();end.setTime(endDate);Long endTime = end.getTimeInMillis();Long oneDay = 1000 * 60 * 60 * 24l; Long time = statTime;  List timeList=new ArrayList();while (time <= endTime) {  Date d = new Date(time);DateFormat df = new SimpleDateFormat("yyyy/MM/dd");time += oneDay;timeList.add(df.format(d));}  //根据渠道ID查询当前代理公司下有多少交易成功的单
        String lastDate = null;if(month.equals("-1")){//获取这个时间段下一天Calendar calendar = Calendar.getInstance();calendar.set(Calendar.DAY_OF_MONTH, 1); calendar.add(Calendar.DATE, 0);lastDate = sdf.format(calendar.getTime());}else{Calendar calendar = Calendar.getInstance();calendar.set(Calendar.DAY_OF_MONTH, 1);calendar.add(Calendar.MONTH, 1);lastDate = sdf.format(calendar.getTime());}

这是获取时间,然后这个时间进行相加

比如

updateDate  = "2016-11-9"
//得到保单状态最后修改的时间Date updateDate = tranCar.getDtUpdateDate();//计算时间,+3天Calendar calendar = Calendar.getInstance();calendar.setTime(updateDate);calendar.add(calendar.DATE,3);
//得出的结果
updateDate  = "2016-11-12"
//获取上个月25号的时间private String setDayLastMonth(SimpleDateFormat format) {Calendar month = Calendar.getInstance();month.add(Calendar.MONTH,-1);month.set(Calendar.DATE,25);String oneDayLastMonth = format.format(month.getTime());return oneDayLastMonth;}//获取当月的时间,这里时间不能超过当月25号private String setDayBefore(SimpleDateFormat format) {Calendar cal = Calendar.getInstance();//获取一个日历cal.add(Calendar.DAY_OF_MONTH, -1);//取当前日期的前一天.//当前时间String today = format.format(Calendar.getInstance().getTime());String theDayBefore = format.format(cal.getTime());//比较时间大小Date theDayBeforeDate = cal.getTime();//当前时间的前一天日期格式Date todayDate = Calendar.getInstance().getTime();//当前时间日期格式if(theDayBeforeDate.getTime() > todayDate.getTime()){//默认日期只能为本月的24日cal.set(Calendar.DATE,24);theDayBefore = format.format(cal.getTime());}return theDayBefore;}

转载于:https://www.cnblogs.com/yetianxi/p/6048186.html

java时间计算,获取某月第一天和最后一天相关推荐

  1. JAVA Calendar获取某月第一天、最后一天,某周的第一天、最后一天

    获取今天的年月日 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date = new Date() ...

  2. java 获取当月第一天和最后一天 获取前一个月第一天和最后一天

    2019独角兽企业重金招聘Python工程师标准>>> SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd ...

  3. php 获取月份第一天和最后一天,php 获取指定月第一天和最后一天

    本文章给大家介绍在php 中利用date和strtotime函数获取用户给定时间的第一天或文章最后一天,有需要了解学习的朋友可进入参考. 借助于date和strtotime函数,可以轻松的获取本月.下 ...

  4. oracle中季末最后一天,oracle有关时间计算,得到季度第一天、最后一天

    ------------------------------------------------ Oracle 日期------------------------------------------ ...

  5. SQL获取某月第一天或最后一天

    select DATEADD(MONTH, DATEDIFF(MONTH, x, GETDATE())n, y); 改变'x','n','y'的值来获取某月的某一天. 在SQL Server环境下: ...

  6. PHP月份跨月计算日期不正确的处理,获取月份的第一天和最后一天

    因为有大小月,所以涉及月份最后一天计算的时候直接date('Y-m-d', strtotime('+1 month'));得出的结果很有可能是下下个月的.例如: $date = date('Y-m-d ...

  7. java当月最后一天_Java日期循环,Java获取当月的第一天和最后一天 | 学步园

    1.Java日期循环 SimpleDateFormat formater = new SimpleDateFormat("yyyy-MM-dd"); String dateStr1 ...

  8. Java 获取某年的第一天和最后一天

    在统计的数据是时候,要统计某年的数据.开始时间是某年的第一天,结束时间是某年的最后一天.该如何获取某年的第一天和最后一天: 获取当年的第一天和最后一天 private static String da ...

  9. 获取上个月的第一天和最后一天和当前月最后一天

    项目场景:获取上个月的第一天和最后一天和当前月最后一天 提示:这里简述项目相关背景: 问题描述 提示:这里描述项目中遇到的问题: 例如当前为4月 getCurrentMonthLast() {var ...

最新文章

  1. SpringMVC拦截器2(资源和权限管理)(作为补充说明)
  2. 深度学习100例 | 第32天-GRU模型:算法生成小说
  3. 电脑的基础知识_电脑入门基础知识
  4. angularjs组件之input mask
  5. 全国计算机等级考试题库二级C操作题100套(第12套)
  6. 安装ISA2004后,加入域时提示:远程过程调用失败且未运行的解决办法
  7. cogs 2235 烤鸡翅
  8. 计算机考证忘记密码了怎么办,计算机忘记开机密码怎么办?
  9. 勒索病毒频发,信息安全事件如何破 --记两次勒索病毒数据恢复实例
  10. 对一款国家级内容过滤系统Dos安全缺陷分析
  11. [激光原理与应用-25]:《激光原理与技术》-11- 激光产生技术-非线性技术之激光倍频、非线性晶体CLBO、BBO、LBO
  12. 2019 DENSE-HAZE: A BENCHMARK FOR IMAGE DEHAZING WITH DENSE-HAZE AND HAZE-FREE IMAGES
  13. 一个比较好用而且免费的录屏软件
  14. 美国iPS细胞治疗癌症最新进展
  15. HSF测试用例JVM参数Please set the HSF container path in the environment variable or JVM argument, and ensur
  16. SQL递归查询上级部门树
  17. 格式工厂--转换视频格式
  18. python tkinter详解
  19. 每日技术新闻汇_2019-8-26
  20. python 爬取微信公众号文章(selenium+webdriver)

热门文章

  1. Linux ext2文件系统小结
  2. XML教程和SVG可伸缩矢量图形 (Scalable Vector Graphics)教程
  3. EntityFramework中实体类到表名的批量映射
  4. jenkins插件findbugs+pmd+checkstyle结合sonar与maven(java环境代码质量和代码规范管理)...
  5. CF Educational Round 23 F.MEX Queries
  6. libcurl网络连接使用tcp/ip
  7. 夺命雷公狗---微信开发57----微网站之jquery_mobile之入门案例
  8. 服务端发post请求产生的编码问题
  9. JDK 1.5 新特性——自动拆箱装箱
  10. Cadence Orcad 无法启动出现Capture.exe找不到cdn_sfl401as.dll问题