首页 > 编程语言 >java 判断当前时间是否可以执行

java 判断当前时间是否可以执行

时间:2024-01-29 21:46:36浏览次数:22  
标签:判断 return java isEmpty 当前 time false execTimes cronStr

判断时间

private boolean canTheTimeExecute() {
    try {
        if (StringUtils.isEmpty(containerStockSyncTime)) {
            log.info("[handleContainerStockSyncTask]-execute time is empty。");
            return false;
        }
        //配置中心按照分钟设置,这里转换成秒格式
        String dataTime = containerStockSyncTime + ":00";
        LocalTime time = LocalTime.parse(dataTime, DateTimeFormatter.ofPattern("HH:mm:ss"));
        String cronStr = time.format(DateTimeFormatter.ofPattern("ss mm HH * * ?"));
        if (StringUtils.isEmpty(cronStr)) {
            return false;
        }
        //获取定时器这次执行的时间
        List<Date> execTimes = CronPatternUtil.matchedDates(cronStr, DateUtil.beginOfMinute(new Date()), 1, true);
        if (CollectionUtils.isEmpty(execTimes)) {
            return false;
        }
        // 判断是否已经到了应该可以执行的时间(分钟未单位)
        return (System.currentTimeMillis() - execTimes.get(0).getTime()) >= 0;
    } catch (Exception ex) {
        log.error("[handleContainerStockSyncTask]- time parse error。", ex);
    }
    return false;
}

标签:判断,return,java,isEmpty,当前,time,false,execTimes,cronStr
From: https://www.cnblogs.com/daleyzou/p/17995390/getExecuteTime

相关文章

  • java8线上GC问题排查
    问题线上长时间fullGc项目输出了对应的gc日志,启动参数里增加了对应启动参数-verbose:gc-Xloggc:/logs/java_gc.log-XX:+PrintGCDateStamps-XX:+PrintGCApplicationStoppedTime-XX:+PrintGCApplicationConcurrentTime-XX:+PrintHeapAtGC-XX:HeapDumpPath=/logs/java_he......
  • Java编程学习(intellij idea)
    打开IntelliJIDEA新建Project新建Module新建Package输入Package名,enter新建JavaClass在Class中编程......
  • Java删除及下载
    卸载JDK删除JAVA的安装目录删除JAVA_HOME删除path下关于JAVA的目录命令行窗口java-version安装JDK搜索JDK8,找到下载地址同意协议下载电脑对应版本双击安装JDK记住安装路径D:\Environment\java\jdk1.8\配置环境变量我的电脑-->右键-->属性点击高级系统设置在系......
  • 初识Jjava --数组
    Day6publicstaticvoidmain(String[]args){int[]nums;//定义一个数组nums=newint[10];nums[0]=1;nums[1]=2;nums[2]=3;nums[3]=4;nums[4]=5;nums[5]=6;nums[6]=7;nums[7]=8;......
  • C# 使用自定义特性标注类的方法,直接在当前类中让Main函数调用它
    有的时候我们想要再Main执行一些代码,如果直接在里面写的话,下次再想用的时候就会把之前的代码删掉,好不容易写的代码不想删掉于是我们可以将这些代码写到类文件中,想要执行了,就在Main中调用该类的方法,但是有的时候我们又懒的去Main函数指定的,有没有什么办法能直接在新类中就能指定......
  • java用多线程批次查询大量数据(Callable返回数据)方式
    我看到有的数据库是一万条数据和八万条数据还有十几万条,几百万的数据,然后我就想拿这些数据测试一下,发现如果用java和数据库查询就连一万多条的数据查询出来就要10s左右,感觉太慢了。然后网上都说各种加索引,加索引貌似是有查询条件时在某个字段加索引比较快一些,但是毕竟是人家的库不......
  • java 两个mongo库数据迁移
    publicstaticvoidmain(String[]args){Stringcollectionname="test";//MongoDBURIStringuri="mongodb://用户名:密码@ip:端口/mydatabase?authSource=mongo";//Connecttothedatabaseusingtheprovi......
  • java反射获取类字段值以及注解描述
    publicstaticMap<String,String>getFieldNameAndDescriptionMap(Objectentity)throwsIllegalAccessException{Class<?>clazz=entity.getClass();Field[]fields=clazz.getDeclaredFields();//获取所有字段Map<String,String&g......
  • 判断给出回文串能否构成新的回文串
     AC代码如下:#include<bits/stdc++.h>usingnamespacestd;booljudge(strings,intpos){  swap(s[pos],s[pos+1]);  swap(s[s.length()-pos-1],s[s.length()-pos-2]);  if(s[pos]!=s[s.length()-pos-1]||s[pos+1]!=s[s.length()......
  • 美多商城用户注册-账号登录-多账号登录-首页用户名展示-退出登录-判断用户是否登录-9
    1.单用户名登录逻辑分析2.用户名登录接口设计3.用户名登录接口定义,后端代码需要在users中的views视图中添加,前端login.js login.html添加到对应的目录中然后添加子路由  re_path(r'^login/$',views.LoginView.as_view(),name='login'),classLoginView(View):"""......