首先展现一下什么是Cron表达式:
这是里面共同的部分用上表来展示,其中天的选项更多一些:
SUN,MON:每星期几(周日,周一)
L:在这个月的最后一天
LW:在这个月的最后一个工作日
aL:在这个月的最后一个星期a-1(a为整数,1 L-a:在本月底的前a天 aW:最近的工作日(周一至周五)至本月a日 a#b:在这个月的第b(b为整数,0 这个表达式还是比较复杂的,其实个人感觉后端转换和前端转换都是可行的,下面先来尝试下前端转换,即js转换: 首先的思路是将Cron表达式转换成一个数组,这个数组正常是有6个对象(元素)的,然后对这6个对象进行分析,后期也可以封装: methods:secondTransform(){if(array[0] == '?'){this.result = ''}else if(array[0] == '*'){this.result = '每一秒' }}
L-a:在本月底的前a天
aW:最近的工作日(周一至周五)至本月a日
a#b:在这个月的第b(b为整数,0 这个表达式还是比较复杂的,其实个人感觉后端转换和前端转换都是可行的,下面先来尝试下前端转换,即js转换: 首先的思路是将Cron表达式转换成一个数组,这个数组正常是有6个对象(元素)的,然后对这6个对象进行分析,后期也可以封装: methods:secondTransform(){if(array[0] == '?'){this.result = ''}else if(array[0] == '*'){this.result = '每一秒' }}
这个表达式还是比较复杂的,其实个人感觉后端转换和前端转换都是可行的,下面先来尝试下前端转换,即js转换:
首先的思路是将Cron表达式转换成一个数组,这个数组正常是有6个对象(元素)的,然后对这6个对象进行分析,后期也可以封装:
methods:secondTransform(){if(array[0] == '?'){this.result = ''}else if(array[0] == '*'){this.result = '每一秒' }}