cron表达式讲解

参见该网址:

https://www.cnblogs.com/GarfieldTom/p/3746290.html

cron表达式只有专业技术人员才看得懂,普通人不知道表达式是什么意思,

有需求让我们将cron表达式翻译成普通人可以看懂的文字,刚开始觉得这个

需求有点强人所难,不过后来在网上竟然找到了解决方案。

在GitHub上有开源的项目,链接如下:

https://github.com/bradymholt/cRonstrue

将项目下载到本地,解压压缩包,点开文件夹,copy里面的dist文件夹到自己

需要的项目里,dist里面有cron表达式翻译的核心js包和locales国际化的相关语言包。

在要翻译cron表达式的页面引入核心js包:

<script src="<%=basePath%>/js/dist/cronstrue-i18n.min.js" type="text/javascript"></script>

在需要翻译的地方调用js包里提供的API,很简单只有一句代码:

cronstrue.toString(cronString, { locale: "zh_CN" })

第一个参数是cron表达式,

第二个参数是一个JSON对象,locale的值为相应的语言标识,这里翻译成中文。

如果要将列表里含有cron表达式的一列的值翻译成中文,就必须在页面加载完毕后来做特殊处理,

下面给一个例子:

js代码:

//同步表格定时规则翻译
$("[name='cronString']").each(function(){
var cronString = $(this).text();
if(cronString){
$(this).prop("innerHTML",cronstrue.toString(cronString, { locale: "zh_CN" }));
}
});
//异步表格定时规则翻译
var checksObj = $('td[data-index="10"]').find(".datatable-cell .text-center").prevObject;
if (null != checksObj && checksObj.length >= 1) {
for (var i = 0; i < checksObj.length; i++) {
var cronString = $(checksObj[i]).text();
if(cronString){
$(checksObj[i]).prop("innerHTML",cronstrue.toString(cronString, { locale: "zh_CN" }));
}
}
}

html代码如下:

<td name="cronString">${modelNameToCronExpress[tmodelMaintainConfig.modelName] }</td>

因为前端用的由bootstrap改写的zui框架所以表格实际上有两份,一份是同步表格即html里编写的表格,另一份是

框架自动渲染的表格,所以js代码要写两份。之所以要在td上加一个name属性是为了方便获取cron表达式这一列的

所有td对象。

总体思想是获取所有待替换对象,遍历获取每个对象的值调用翻译API后将值赋值给原对象。

quartz定时任务cron表达式讲解及翻译成现实语言的插件的使用详解的更多相关文章

  1. quartz定时任务cron表达式

    cron 表达式格式:秒 分 时 日 月 周 年(可选) 子表达式范围 字段名 字段解释 值范围 特殊字符 Seconds 秒 0~59 , - * / Minutes 分 0~59 , - * / ...

  2. quartz定时任务cron表达式详解

    引用:https://www.cnblogs.com/lazyInsects/p/8075487.html cron表达式用于配置cronTrigger的实例.cron表达式实际上是由七个子表达式组成 ...

  3. springboot内嵌定时任务使用及cron表达式讲解

    第一步:pom引入依赖 <dependencies> <dependency> <groupId>org.springframework.boot</grou ...

  4. Quartz 用 cron 表达式存放执行计划

    Quartz 用 cron 表达式存放执行计划.引用了 cron 表达式的 CronTrigger 在计划的时间里会与 job 关联上. 1.Quartz cron 表达式支持七个域如下: 名称 是否 ...

  5. quartz定时任务时间表达式说明

    quartz定时任务时间表达式说明   这些星号由左到右按顺序代表 :    *    *     *     *    *     *   *     格式: [秒] [分] [小时] [日] [月 ...

  6. Java EE学习——Quartz的Cron表达式

    经历过低谷后,还是要好好学习,越失落会越来越落后. 今天写一下Cron表达式的用法,虽然是之前自己写的,也过了挺长一段时间,这次就拿出来作为回顾吧. Cron表达式是Quartz的精髓(个人觉得),比 ...

  7. Quartz中Cron表达式使用方法

    Quartz中CronTrigger支持日历相关的反复时间间隔(比方每月第一个周一运行),而不是简单的周期时间间隔. 它的调度规则基于 Cron 表达式. 以下就来说一下Cron表达式的规则及使用方法 ...

  8. 开源作业调度框架 - Quartz.NET - Cron表达式测试

    昨天简单写了一下如何使用Quzrtz.NET. 那么问题来了,我设置了Cron表达式之后如何知道是表达式是否按照预期的时间执行了呢? 我找到了些Cron表达式工具生成了表达式,确发现它们基本上没有进行 ...

  9. Quartz 在线Cron表达式

    Quartz自己配置Cron好麻烦,下面是一个在线Cron表达式生成器的网站,非常方便,现在使用Cron时基本上就直接用这个了. http://cron.qqe2.com/ Cron表达式 cronE ...

随机推荐

  1. winform学习(8)RichTextBox控件

    RichTextBox控件允许用户输入和编辑文本的同时提供了比普通的TextBox控件更高级的格式特征. RichTextBox的控件标识符.SelectionColor = Color.Blue;  ...

  2. hadoop学习笔记(九):mr2HA高可用环境搭建及处步使用

    本文原创,如需转载,请注明原文链接和作者 所用到的命令的总结: yarn:启动start-yarn.sh   停止stop-yarn.sh zk :zkServer.start ;:zkServer. ...

  3. Bugku-CTF之细心 (想办法变成admin)

    Day30     细心

  4. [远古回忆]发现了以前的一些wow截图 这里也备份一下

    看邮箱里面通知 网易相册24号就停服了..赶紧找到以前的账号登录了进去瞅瞅 看看有什么重要的东西需要备份的 想不到发现了很多惊喜 虽然因为年代久远和网易相册提供的免费服务 很多文件图片和其他资料有接近 ...

  5. 在Docker中使用Microsoft SQL Server数据库

    下图中对SQL Server容器创建及数据库创建等操作进行了记录,方便自己日后查看.(文中的 * 仅表示隐藏自己的个人信息,手动马赛克,哈哈-) Docker下载可看上一篇博文mac系统,docker ...

  6. ftrace使用

    前段时间遇到个问题,有个后继音频数据处理线程调度不及时导致音频输出延迟,音视频不同步. 因此从系统上入手,采用ftrace进行debug,来看有哪些线程会去抢占音频数据处理线程. ftrace 提供了 ...

  7. 动态链接--运行时加载dlopen

    前面我们在编译可执行文件时,如果可执行文件要依赖某个so.必须要通过-L指定so路径,并且-l指定so名字. 而且在可执行文件运行时,要先加载so的load部分到进程地址空间. 有一种方式可以在编译时 ...

  8. redis-server.exe redis.windows.conf 报错

    在参考博文:https://blog.csdn.net/erlian1992/article/details/54382443#comments 学习redis的时候启动报错 C:\Users\Adm ...

  9. redis环境搭建学习笔记

    学习环境为windows.java环境 一.学习教程: 1.菜鸟教程:http://www.runoob.com/redis/redis-tutorial.html 2.redis中文网:http:/ ...

  10. Bugku-CTF加密篇之凯撒部长的奖励(就在8月,超师傅出色地完成了上级的特遣任务,凯撒部长准备给超师傅一份特殊的奖励.......)

    凯撒部长的奖励 就在8月,超师傅出色地完成了上级的特遣任务,凯撒部长准备给超师傅一份特殊的奖励,兴高采烈的超师傅却只收到一长串莫名的密文,超师傅看到英语字串便满脸黑线,帮他拿到这份价值不菲的奖励吧. ...