获取一年的每周的总工时和它所在周数(跨月情况,跨年情况都考虑到了)

该博客介绍如何在编程中处理复杂的时间计算,详细阐述了如何获取一年内每周的总工时,并考虑到日期跨月和跨年的特殊情况。内容包括辅助方法的设计以及数据传输对象(DTO)和视图对象(VO)的属性设置,以实现精确的工时统计。
摘要由CSDN通过智能技术生成
/***
 * 获取 所有周,每一周的总工时 	每一周的数据集合  (遗留问题周总工时,所在周数)
 */
private  List<StdBackLogUpperVo>  	getEveryWeekSumLabor(StdBackLogUpperDto condition) throws ParseException {
	Calendar calendar = Calendar.getInstance();
	List<Date> dates = null;
	if(condition.getYears().contains("-")) {
		//获取月的所有天数
		dates = dateLists(Integer.valueOf(condition.getIyear().toString()), condition.getMonth());
	}else {
		//获取年的所有天数
		dates =dateLists(Integer.valueOf(condition.getIyear().toString()));
	}
	List<StdBackLogUpperVo> longList = new ArrayList<>();
	for(Date date : dates){
		calendar.setTime(date);
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		Date date1 = sdf.parse(Integer.parseInt(condition.getIyear().toString())+"-12-31");
		int week = getWeek(date);//获取本年第几周
		Calendar cale = Calendar.getInstance();
		cale.setTime(date);
		cale.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值