代码:

/*** 描述* * @author Norton Lai* @created 2019-2-27 下午4:54:36*/
public class Test {static final String xin="*";static final String wenhao="?";static final String dao="-";static final String mei="/";static final String huo=",";public static String descCorn(String cronExp) {String[] tmpCorns = cronExp.split(" ");StringBuffer sBuffer = new StringBuffer();if (tmpCorns.length != 6) {throw new RuntimeException("请补全表达式,必须标准的cron表达式才能解析");}// 解析月descMonth(tmpCorns[4], sBuffer);// 解析周descWeek(tmpCorns[5], sBuffer);// 解析日descDay(tmpCorns[3], sBuffer);// 解析时descHour(tmpCorns[2], sBuffer);// 解析分descMintue(tmpCorns[1], sBuffer);// 解析秒descSecond(tmpCorns[0], sBuffer);sBuffer.append(" 执行");return sBuffer.toString();}/*** 描述* @param tmpCorns* @param sBuffer* @author Norton Lai* @created 2019-2-27 下午5:01:09*/private static void descSecond(String s, StringBuffer sBuffer) {String danwei="秒";desc(s, sBuffer, danwei);}/*** 描述* @param s* @param sBuffer* @param danwei* @author Norton Lai* @created 2019-2-27 下午5:16:19*/private static void desc(String s, StringBuffer sBuffer, String danwei) {if (s.equals("1/1")) {s="*";}if (s.equals("0/0")) {s="0";}if (xin.equals(s)) {sBuffer.append("每"+danwei);return;}if (wenhao.equals(s)) {return ;}if (s.contains(huo)) {String[] arr = s.split(huo);for (int i = 0; i < arr.length; i++) {if (arr[i].length()!=0) {sBuffer.append("第"+arr[i]+danwei+"和");}}sBuffer.deleteCharAt(sBuffer.length()-1);sBuffer.append("的");return;}if (s.contains(dao)) {String[] arr = s.split(dao);if (arr.length!=2) {throw new RuntimeException("表达式错误"+s);}sBuffer.append("从第"+arr[0]+danwei+"到第"+arr[1]+danwei+"每"+danwei);sBuffer.append("的");return;}if (s.contains(mei)) {String[] arr = s.split(mei);if (arr.length!=2) {throw new RuntimeException("表达式错误"+s);}if (arr[0].equals(arr[1])||arr[0].equals("0")) {sBuffer.append("每"+arr[1]+danwei);}else {sBuffer.append("每"+arr[1]+danwei+"的第"+arr[0]+danwei);}return;}sBuffer.append("第"+s+danwei);}/*** 描述* @param tmpCorns* @param sBuffer* @author Norton Lai* @created 2019-2-27 下午5:01:00*/private static void descMintue(String s, StringBuffer sBuffer) {desc(s, sBuffer, "分钟");}/*** 描述* @param tmpCorns* @param sBuffer* @author Norton Lai* @created 2019-2-27 下午5:00:50*/private static void descHour(String s, StringBuffer sBuffer) {desc(s, sBuffer, "小时");}/*** 描述* @param tmpCorns* @param sBuffer* @author Norton Lai* @created 2019-2-27 下午5:00:39*/private static void descDay(String s, StringBuffer sBuffer) {desc(s, sBuffer, "天");}/*** 描述* @param tmpCorns* @param sBuffer* @author Norton Lai* @created 2019-2-27 下午5:00:30*/private static void descWeek(String s, StringBuffer sBuffer) {//不解释 太麻烦}
//    private static String turnWeek(String week){//        switch (week) {//        case "1":
//            return"星期天";
//        case "2":
//            return"星期一";
//        case "3":
//            return"星期二";
//        case "4":
//            return"星期三";
//        case "5":
//            return"星期四";
//        case "6":
//            return"星期五";
//        case "7":
//            return"星期六";
//        default:
//            return null;
//        }
//    }/*** 描述* @param tmpCorns* @param sBuffer* @author Norton Lai* @created 2019-2-27 下午5:00:15*/private static void descMonth(String s, StringBuffer sBuffer) {desc(s, sBuffer, "月");}// 测试方法public static void main(String[] args) {//        String CRON_EXPRESSION = "0 0 0/2 * * ?";String CRON_EXPRESSION = "* 5-8 1,5,7 * * ?";
//        String CRON_EXPRESSION = "0 0 5-8 * * ?";System.out.println(descCorn(CRON_EXPRESSION));}
}

将cron表达式解析成中文,方便客户理解相关推荐

  1. cron翻译_将定时任务cron 解析成中文

    在使用定时器 quartz 时,其中的cron 表达式,老板表示作为开发的你能看懂外,其他的非开发同事可能看不懂,要用一个他们能看懂的方式表达出来. 还好我们的项目要求的表达式不是特别的麻烦,所以就写 ...

  2. AWS Lambda中的Cron表达式解析器

    目录 介绍 解释代码 解析函数 特别案例 AWS设置 AWS Lambda AWS API网关 AWS Amplify 下载 index.html - 884 B​​​​​​​ 下载 index.js ...

  3. cron表达式解析 + robfig/cron 源码剖析

    robfiig/cron 源码剖析 Cron 表达式 参考wiki https://en.wikipedia.org/wiki/Cron robfiig/cron项目信息 下载地址 https://g ...

  4. cron表达式解析 获取N条结果集

    这是我的cron表达式解析工具类: public class CronDateUtil {public static List<String> parser(String cronExpr ...

  5. 在线Cron表达式解析工具使用说明

    在日常Java开发中,常常会用到quartz定时器,而定时器的Cron表达式比较难以理解,尤其是复杂的表达式,较难分析出是否周期频率正确. 这里,云码网推出Cron在线解析工具,方便大家在线生成Cro ...

  6. js把base64串解析成中文_回文问题终极篇:最小代价构造回文串

    学算法认准 labuladong 东哥带你手把手撕力扣? 点击下方卡片即可搜索? 读完本文,你可以去力扣完成第 1312 题「让字符串成为回文串的最少插入次数」,难度 Hard. 回文串就是正着读反着 ...

  7. js把base64串解析成中文_26日大嘴足球:晚场5中3/中2串+1比分,早场(意甲+西甲)2场解析!!...

    周三早场2中1,命中意甲热那亚0-0博洛尼亚平局,但法甲圣埃蒂安0-1不敌梅斯,无缘正路主胜打出!晚场2档高开低走,下午档日韩5中4,主推2中2全红,串关命中主推2串1(2.1倍回报)!晚间档主推仅3 ...

  8. 维基百科文件解析成中文遇到的变量类型、编码问题

    2019独角兽企业重金招聘Python工程师标准>>> 为了练习Gensim中文词向量建模,要用到wiki文件做语料库.因为这个文件是xml格式的,需要把它转成文本格式,所以有了下面 ...

  9. java 解析cron_springtask 的使用方法和 cron 表达式解析

    spring 容器依赖 org.springframework spring-context 5.0.5.RELEASE 开启任务注解驱动.即扫描的时候扫描 springtask 相关的注解. xml ...

  10. Crontab中文表达式解析

    简介 最近工作中在使用调度框架,经常和定时表达式打交道,并且有查看表达式中文解释的需求,于是在网上搜集资料和自己进行一定的修改,写了一个Crontab表达式解析的工具类 详解 这个没啥好解释,看资料, ...

最新文章

  1. Android Studio 快捷键
  2. 移动端适配与响应式布局
  3. XCTF WEB robots
  4. Hadoop 03_核心:读写流程
  5. dojo 官方翻译 dojo/json 版本1.10
  6. python机器学习案例系列教程——层次聚类(文档聚类)
  7. 笔记本系统恢复连载之十:系统恢复并不难
  8. 解析:百度快照与站点权重的关系!
  9. R语言colorRampPalette函数-创建颜色梯度(渐变色)
  10. Unity3D动态加载FBX文件
  11. 深度学习-深度卷积神经网络发展
  12. django -- 过滤器
  13. 弓形锯床主传动及工作机构设计
  14. 执行 this.$destroy()后原生DOM事件也无法执行
  15. 计算机盘中文件夹丢失,“文件夹丢失,我的电脑杀完毒后,很多文件夹找不到了”的解决方案...
  16. 【转载】完全版线段树 by notonlysuccess大牛
  17. php开发框架_适用于开发人员的10个PHP框架-最佳
  18. TCP协议的粘包问题
  19. matlab中cell元胞到底怎么理解
  20. git 颜色扩展_GIT:扩展

热门文章

  1. shell命令的退出状态码(exit status)
  2. SAP HR工资核算基础(转)
  3. Matlab2017b 安装教程
  4. Access数据库解密方法大盘点
  5. python网页抓取与按键精灵原理一样吗_Python——爬虫——爬虫的原理与数据抓取...
  6. python爬虫之app数据抓取实战_Python爬虫工程师必学——App数据抓取实战 ??
  7. eclipse运行java项目
  8. java项目启动失败的解决方案
  9. android手机视频,安卓手机视频加密软件
  10. 苹果ios、ipad加密视频播放器使用教程