//获取前月的第一天
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
//获取当前月第一天:
Calendar c = Calendar.getInstance(); String first = null;//第一天
String last = null;//第二天
//判断获取的参数如果为-1
if(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;
}

java时间计算,获取某月第一天和最后一天的更多相关文章

  1. js 获取某月第一天和最后一天

    1.获取某月第一天和最后一天日期 function getDateByMonth (timeStamp) { let inDate = new Date(timeStamp) let year = i ...

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

    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");                    //获取前月的第一 ...

  3. 获取某月第一天,最后一天的sql server脚本 【转】http://blog.csdn.net/chaoowang/article/details/9167969

    这是计算一个月第一天的SQL 脚本:    SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) --当月的第一天 SELECT DATEADD(mm, DA ...

  4. 获取某月第一天,最后一天的sql server脚本

    本文来自:http://blog.csdn.net/chaoowang/article/details/9167969 这是计算一个月第一天的SQL 脚本:   SELECT DATEADD(mm, ...

  5. JAVA Calendar类获取上个月的第一天和最后一天

    原文:https://www.cnblogs.com/QQParadise/articles/4936313.html 获取上个月第一天的方法: Calendar calendar = Calenda ...

  6. java获取当月的第一天和最后一天,获取本周的第一天和最后一天

    /** * 获取指定日期所在周的第一天和最后一天,用下划线连接 * @param dataStr * @return * @throws ParseException */ public static ...

  7. 用js获取周、月第一天和最后一天(转载)

    var getCurrentWeek = function (day) { var days = ["周日", "周一", "周二", &q ...

  8. js 获取当前月份 第一天和最后一天

    js 获取当前月份 第一天和最后一天 var now = new Date(); //当前日期 var nowMonth = now.getMonth(); //当前月 var nowYear = n ...

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

    package com.test.packager; import java.text.ParseException; import java.text.SimpleDateFormat; impor ...

随机推荐

  1. hibernate学习二(HelloWorld)

    一.建立hibernate配置文件 在工程Hibernate_01_HelloWorld下的src上建立hibernate.cfg.xml,打开hibernate-release-4.3.11.Fin ...

  2. 转载:MySQL 语句大全:创建、授权、查询、修改等

    本文转载>这里 一.用户创建.权限.删除 1.连接MySql操作 连接:mysql -h 主机地址 -u 用户名 -p 用户密码 (注:u与root可以不用加空格,其它也一样)断开:exit ( ...

  3. Java面试常见问题汇总

    1 String,StringBuffer与StringBuilder的区别??   String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非 ...

  4. [Storm] Storm与asm的恩恩怨怨

    asm的引用冲突 1. Jersey & Storm 0.9.3 jersey 1.8 (which depends on asm 3.0) Storm 0.93 (which depends ...

  5. 一些LINQ的使用

    var list = from staff in staffList from extraRecord in extraList where staff.staffID == extraRecord. ...

  6. Linux学习之七--mysql的安装使用

    安装mysql: CentOS7后的版本,的yum源中默认好像是没有mysql的.为了解决这个问题,我们要先下载mysql的repo源. 1. 下载mysql的repo源 # wget http:// ...

  7. required - HTML5里的input标签的required属性提示文字修改

    input 里面增加这样的语句: <input type="text" placeholder="您的姓名" required oninvalid=&qu ...

  8. IIS网站或系统验证码不显示问题——"使用了托管的处理程序,但是未安装或未完整安装 ASP.NET"

    在IIS上发布了一个系统,但是登陆页面的验证码图片一直出不来,尝试了各种办法,权限.路径.继承父类路径等都不管用,进入Login.html,对着无验证码图片的图标,右键复制图片的网址,粘贴到地址栏,出 ...

  9. Ajax发送POST请求SpringMVC页面跳转失败

    问题描述:因为使用的是SpringMVC框架,所以想使用ModelAndView进行页面跳转.思路是发送POST请求,然后controller层中直接返回相应ModelAndView,但是这种方法不可 ...

  10. powershell通过wps excel导出csv

    powershell比较强大,比较好用,比较方便. $et=New-Object -ComObject et.application #$et.Visible=$true $et.DisplayAle ...