Calendar 简单使用

  今天遇到这样一种需求,是一个检查设备是否运行正常的项目,先制定计划,然后审核通过之后,然后再生成执行的每天计划的具体时间:计划分为3种,按天执行,按周执行,按月执行,如我制定的计划时间段为2018-11-1到2019-1-31,每月的6号执行,然后需要审核,计划审核通过后要往数据库插入的数据为2018-11-6,2018-12-6,2019-1-6这3条数据,这只贴了按月计算的部分代码

//c代表计划制定时制定每月的几号执行计划
//两个日期做比较,没循环一次加一天
for(; !endTime.before(date.getTime()); date.add(Calendar.DAY_OF_MONTH, 1)){
	//每月的第几号
	if(date.get(Calendar.DAY_OF_MONTH) == c){
	    m++;
	    String[] startTimes = map_pss.get(c).getRateStartTime().split(":");
	    String[] endTimes = map_pss.get(c).getRateEndTime().split(":");
	    
	    //开始时间
	    Calendar cal = Calendar.getInstance();
	    cal.setTime(date.getTime());
	    	//设置小时
	    cal.set(Calendar.HOUR_OF_DAY, Integer.parseInt(startTimes[0]));
	    	//设置分钟
	    cal.set(Calendar.MINUTE, Integer.parseInt(startTimes[1]));
	    	//设置秒
    	//cal.set(Calendar.MILLISECOND, );
	    Date start = cal.getTime();
	
	    //结束时间
	    cal.set(Calendar.HOUR_OF_DAY,Integer.parseInt(endTimes[0]) );
	    cal.set(Calendar.MINUTE,Integer.parseInt(endTimes[1]) );
	    Date end = cal.getTime();
	
		//符合条件插入到数据库
	    PlanSchedule planSchedule = new PlanSchedule();
	    planSchedule.setStartTime(start);
	    planSchedule.setEndTime(end);
	    planScheduleService.insert(planSchedule);	
	    continue;
	}
}

  其实在开发中会经常用到Calendar ,Calendar 是个抽象类,主要用来操作日期时间字段的,很实用,API文档解释的也很清楚,精确到从历元至毫秒偏移量。
  一篇不错的文章(使用小例子):https://blog.csdn.net/tiantangdizhibuxiang/article/details/77429346
  其实这都是一些基础知识,只是自己之前用的太少,都不知道有这些东西,就算用到了也是想一些笨的方法计算出,其实已经有现成的函数,看别人写代码真是张知识(大神用几分钟的时间实现了这个逻辑,而要我实现起来,各种判断就是自己去写了,不知道要写多久。。。因为不知道有这些接口),以后还要夯实基础,基础很重要,还要学会要文档,其实文档写得很清楚。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值