我的问题是:
像2017-03-01 到 2017-09-01 这两个日期之间想差了多少个季度,再得出每个季度的第一天和最后一天 这怎么搞,我搞了好久都没搞出来
java新手求教,各位大神帮帮忙。。。小弟在线等。。。
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
7条回答 默认 最新
- 奋斗的殇鹿 2017-03-03 01:31关注
String start = satrdate.substring(5,7);
int st = Integer.parseInt(start);
String end = enddate.substring(5,7);
int ed = Integer.parseInt(end);
int sm = 0;
int lm = 0;
if(st >= 2 && st < 5){
sm = 1;
}else if(st >= 5 && st < 8){
sm = 2;
}else if(st >= 8 && st < 11){
sm = 3;
}else{
sm = 4;
}
if(ed >= 2 && ed < 5){
lm = 1;
}else if(ed >= 5 && ed < 8){
lm = 2;
}else if(ed >= 8 && ed < 11){
lm = 3;
}else{
lm = 4;
}
int sum =lm-sm;
int mon = 0;
// throw new IllegalDataException("结束月份="+ed+" 开始月份="+st+" 季度差="+sum);
for(int i=0;i<=sum;i++){
if(i > 0){
mon = mon + 3;
}
Calendar calendar = Calendar.getInstance();
if(i == 0){
calendar.setTime(startdate);
int month = getQuarterInMonth(calendar.get(startdate.getMonth()), true);
calendar.set(Calendar.MONTH, month);
calendar.set(Calendar.DAY_OF_MONTH, 1);
GlobalVariable.log.debug("当季度的第一天:" + sf.format(calendar.getTime()));
// System.out.println("当季度的第一天:" + sf.format(calendar.getTime()));
// // 季度末
calendar.setTime(startdate);
month = getQuarterInMonth(calendar.get(startdate.getMonth()), false);
calendar.set(Calendar.MONTH, month + 1);
calendar.set(Calendar.DAY_OF_MONTH, 0);
GlobalVariable.log.debug("当前时间的季度末:" + sf.format(calendar.getTime()));
}else{
// 季度初
calendar.setTime(startdate);
int month = getQuarterInMonth(calendar.get(startdate.getMonth()), true);
calendar.set(Calendar.MONTH, month+mon);
calendar.set(Calendar.DAY_OF_MONTH, 1);
GlobalVariable.log.debug("当季度的第一天:" + sf.format(calendar.getTime()));
// System.out.println("当季度的第一天:" + sf.format(calendar.getTime()));
// // 季度末
calendar.setTime(startdate);
month = getQuarterInMonth(calendar.get(startdate.getMonth()), false);
calendar.set(Calendar.MONTH, month + 1+mon);
calendar.set(Calendar.DAY_OF_MONTH, 0);
GlobalVariable.log.debug("当前时间的季度末:" + sf.format(calendar.getTime()));
// System.out.println("当前时间的季度末:" + sf.format(calendar.getTime()));
}
}本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 对于相关问题的求解与代码
- ¥15 ubuntu子系统密码忘记
- ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
- ¥15 保护模式-系统加载-段寄存器
- ¥15 电脑桌面设定一个区域禁止鼠标操作
- ¥15 求NPF226060磁芯的详细资料
- ¥15 使用R语言marginaleffects包进行边际效应图绘制