我的问题是:
像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()));
}
}本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 wireshark抓不到vlan
- ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
- ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
- ¥15 stata安慰剂检验作图但是真实值不出现在图上
- ¥15 c程序不知道为什么得不到结果
- ¥40 复杂的限制性的商函数处理
- ¥15 程序不包含适用于入口点的静态Main方法
- ¥15 素材场景中光线烘焙后灯光失效
- ¥15 请教一下各位,为什么我这个没有实现模拟点击
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来