java 时间段_JAVA 日期 一个时间段总共几周,每一天星期几

/*** 查询一个时间段的总周数和查询当前时间是第几周

*@paramstart

*@paramend

*@return

*/

private int[] selectWeekNum(Date start,Date end,int week,intflag){

java.util.Calendar now=java.util.Calendar.getInstance();

java.util.Calendar c_total=java.util.Calendar.getInstance();

java.util.Calendar c_begin=java.util.Calendar.getInstance();

java.util.Calendar c_end=java.util.Calendar.getInstance();int count = 0;int weekTotal = 0;try{

c_begin.setTime(start);

c_end.setTime(end);

now.setTime(new SimpleDateFormat("yyyy-MM-dd").parse(sdf.format(newDate())));int begin =c_begin.get(java.util.Calendar.WEEK_OF_YEAR);int over =c_end.get( java.util.Calendar.WEEK_OF_YEAR);int z =now.get( java.util.Calendar.WEEK_OF_YEAR);if (c_begin.getWeekYear() !=c_end.getWeekYear()) {

Date totalYear= new SimpleDateFormat("yyyy-MM-dd").parse(c_begin.getWeekYear() + "-12-31");

c_total.setTime(totalYear);int x =c_total.get(java.util.Calendar.WEEK_OF_YEAR);while(x==1){

c_total.add(java.util.Calendar.DAY_OF_MONTH,-1);

x=c_total.get(java.util.Calendar.WEEK_OF_YEAR);

}//如果结束时间刚好是星期天则不加1

int weekNum = this.dayForWeek(new SimpleDateFormat("yyyy-MM-dd").format(end));int duoyu = 0;if(weekNum==7) {

duoyu= x - begin+1;

}else{

duoyu= x - begin + 1+1;

}

weekTotal= over +duoyu;

}else{//如果结束时间刚好是星期天则不加1

int weekNum = this.dayForWeek(new SimpleDateFormat("yyyy-MM-dd").format(end));if(weekNum==7){

weekTotal= over -begin ;

}else{

weekTotal= over - begin + 1;

}

}if (c_begin.getWeekYear() !=now.getWeekYear()) {//计算总周数

int x =c_total.get(java.util.Calendar.WEEK_OF_YEAR);while(x==1){

c_total.add(java.util.Calendar.DAY_OF_MONTH,-1);

x=c_total.get(java.util.Calendar.WEEK_OF_YEAR);

}int weekNum = this.dayForWeek(new SimpleDateFormat("yyyy-MM-dd").format(start));int duoyu =0;if(weekNum==7){

duoyu= x - begin + 1+1;

}else{

duoyu= x - begin + 1;

}

count= duoyu +z;

}else{int weekNum = this.dayForWeek(new SimpleDateFormat("yyyy-MM-dd").format(start));if(weekNum==7){

count= (z - begin + 1)+1;

}else{

count= (z - begin + 1);

}

}if (c_end.getTime().getTime() < now.getTime().getTime() || count < 0) {//如果当前时间大于学期结束时间,默然显示第一周

count = 1;

}

//下拉框默认显示的东西可根据实际情况删除或保留if (week != 0 && flag == 1) {

count=week;

}

}catch(Exception e) {

e.printStackTrace();

}return new int[]{count,weekTotal};

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值