Java 中的Date(获取一天的开始和结束时间)

来源:互联网 发布:日晷怎么看时间 知乎 编辑:程序博客网 时间:2024/05/16 06:32

这两天写定时任务,需要每小时去执行和每天8点执行。如何从现在的时间,获取昨天的时间。现将代码整理如下

1.Mybatis中TimeStamp类型的时间,能够和Date类型的时间直接用'  <  '   ' > '比较。

2.通过HOUR_OF_DAY设置24小时格式的日期


    @Override    @Scheduled(cron = CRON_EXPRESSION)    public void execute() {        LOG.info(String.format("定时查询还款总额任务开始,时间:%s!",new Date().toString()));        Date cur = new Date();        Calendar calendar = new GregorianCalendar();        calendar.add(Calendar.DAY_OF_MONTH,-1);        //一天的开始时间 yyyy:MM:dd 00:00:00        calendar.set(Calendar.HOUR_OF_DAY,0);        calendar.set(Calendar.MINUTE,0);        calendar.set(Calendar.SECOND,0);        calendar.set(Calendar.MILLISECOND,0);        Date dayStart = calendar.getTime();        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");        String startStr = simpleDateFormat.format(dayStart);        //一天的结束时间 yyyy:MM:dd 23:59:59        calendar.set(Calendar.HOUR_OF_DAY,23);        calendar.set(Calendar.MINUTE,59);        calendar.set(Calendar.SECOND,59);        calendar.set(Calendar.MILLISECOND,999);        Date dayEnd = calendar.getTime();        String endStr = simpleDateFormat.format(dayEnd);        long res = repayAmountService.queryRepayAmount(startStr,endStr);        if(res < maxRepaymentValue) {            LOG.info(String.format("时间%s:查询还款金额为%s",endStr,String.valueOf(res)));        }else{            LOG.info(String.format("时间%s:查询还款金额为%s",endStr,String.valueOf(res)));            mailTemplateService.sendSimpleTextMail(fromAddress,toAddress,String.format("%s到%sML和PDL还款总额",startStr,endStr),String.format("从%s到%s:查询还款金额为%s",startStr,endStr,String.valueOf(res)));        }        LOG.info(String.format("定时查询还款总额任务结束,时间:%s!",new Date().toString()));    }


阅读全文
0 0
原创粉丝点击