java时间计算,获取某月第一天和最后一天
//获取前月的第一天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时间计算,获取某月第一天和最后一天相关推荐
- JAVA Calendar获取某月第一天、最后一天,某周的第一天、最后一天
获取今天的年月日 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date = new Date() ...
- java 获取当月第一天和最后一天 获取前一个月第一天和最后一天
2019独角兽企业重金招聘Python工程师标准>>> SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd ...
- php 获取月份第一天和最后一天,php 获取指定月第一天和最后一天
本文章给大家介绍在php 中利用date和strtotime函数获取用户给定时间的第一天或文章最后一天,有需要了解学习的朋友可进入参考. 借助于date和strtotime函数,可以轻松的获取本月.下 ...
- oracle中季末最后一天,oracle有关时间计算,得到季度第一天、最后一天
------------------------------------------------ Oracle 日期------------------------------------------ ...
- SQL获取某月第一天或最后一天
select DATEADD(MONTH, DATEDIFF(MONTH, x, GETDATE())n, y); 改变'x','n','y'的值来获取某月的某一天. 在SQL Server环境下: ...
- PHP月份跨月计算日期不正确的处理,获取月份的第一天和最后一天
因为有大小月,所以涉及月份最后一天计算的时候直接date('Y-m-d', strtotime('+1 month'));得出的结果很有可能是下下个月的.例如: $date = date('Y-m-d ...
- java当月最后一天_Java日期循环,Java获取当月的第一天和最后一天 | 学步园
1.Java日期循环 SimpleDateFormat formater = new SimpleDateFormat("yyyy-MM-dd"); String dateStr1 ...
- Java 获取某年的第一天和最后一天
在统计的数据是时候,要统计某年的数据.开始时间是某年的第一天,结束时间是某年的最后一天.该如何获取某年的第一天和最后一天: 获取当年的第一天和最后一天 private static String da ...
- 获取上个月的第一天和最后一天和当前月最后一天
项目场景:获取上个月的第一天和最后一天和当前月最后一天 提示:这里简述项目相关背景: 问题描述 提示:这里描述项目中遇到的问题: 例如当前为4月 getCurrentMonthLast() {var ...
最新文章
- SpringMVC拦截器2(资源和权限管理)(作为补充说明)
- 深度学习100例 | 第32天-GRU模型:算法生成小说
- 电脑的基础知识_电脑入门基础知识
- angularjs组件之input mask
- 全国计算机等级考试题库二级C操作题100套(第12套)
- 安装ISA2004后,加入域时提示:远程过程调用失败且未运行的解决办法
- cogs 2235 烤鸡翅
- 计算机考证忘记密码了怎么办,计算机忘记开机密码怎么办?
- 勒索病毒频发,信息安全事件如何破 --记两次勒索病毒数据恢复实例
- 对一款国家级内容过滤系统Dos安全缺陷分析
- [激光原理与应用-25]:《激光原理与技术》-11- 激光产生技术-非线性技术之激光倍频、非线性晶体CLBO、BBO、LBO
- 2019 DENSE-HAZE: A BENCHMARK FOR IMAGE DEHAZING WITH DENSE-HAZE AND HAZE-FREE IMAGES
- 一个比较好用而且免费的录屏软件
- 美国iPS细胞治疗癌症最新进展
- HSF测试用例JVM参数Please set the HSF container path in the environment variable or JVM argument, and ensur
- SQL递归查询上级部门树
- 格式工厂--转换视频格式
- python tkinter详解
- 每日技术新闻汇_2019-8-26
- python 爬取微信公众号文章(selenium+webdriver)
热门文章
- Linux ext2文件系统小结
- XML教程和SVG可伸缩矢量图形 (Scalable Vector Graphics)教程
- EntityFramework中实体类到表名的批量映射
- jenkins插件findbugs+pmd+checkstyle结合sonar与maven(java环境代码质量和代码规范管理)...
- CF Educational Round 23 F.MEX Queries
- libcurl网络连接使用tcp/ip
- 夺命雷公狗---微信开发57----微网站之jquery_mobile之入门案例
- 服务端发post请求产生的编码问题
- JDK 1.5 新特性——自动拆箱装箱
- Cadence Orcad 无法启动出现Capture.exe找不到cdn_sfl401as.dll问题