国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Cron在前端的使用,vue與element ui的vue-cron插件的使用及將定時任務cron表達式解析成中文

這篇具有很好參考價值的文章主要介紹了Cron在前端的使用,vue與element ui的vue-cron插件的使用及將定時任務cron表達式解析成中文。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

vue-cron插件的使用

安裝依賴

執(zhí)行下面npm命令:
npm install vue-cron --save

引用

在想使用cron的vue頁面引入以下:

import VueCron from ‘vue-cron’
import Vue from ‘vue’
Vue.use(VueCron)

Vue頁面

<el-col :span="12">
    <el-form-item label="同步時間" prop="execTime">
      <el-popover v-model="cronPopover">
        <vueCron @change="changeCron" @close="cronPopover=false" i18n="cn"/>
        <el-input
          slot="reference"
          v-model="ruleForm.execTime"
          placeholder="定時策略"
          @click="cronPopover=true"
        />
      </el-popover>
    </el-form-item>
  </el-col>
</el-row>

運行
cron表達式前端組件,前端總結(es6   vue   layui ),vue.js,前端,ui

去掉秒和年

在vue頁面“style scoped”中通過控制樣式去掉秒年

#changeContab /deep/ #tab-0 { display: none; }
#changeContab /deep/ #tab-5 { display: none; }

定時任務cron解析成中文

簡易的工具類
可根據需要進行修改

import org.redisson.executor.CronExpression;
import org.springframework.util.StringUtils;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;

//import  org.quartz.CronExpression;

public class CornUtil {
    /**
     * 解析corn表達式,生成指定日期的時間序列
     *
     * @param cronExpression cron表達式
     * @param cronDate cron解析日期
     * @param result crom解析時間序列
     * @return 解析成功失敗
     */
    public  static  boolean  parser(String cronExpression, String cronDate, List<String> result)
    {
        if  (cronExpression ==  null  || cronExpression.length() <  1  || cronDate ==  null  || cronDate.length() <  1 )
        {
            return  false ;
        }
        else
        {
            CronExpression exp =  null ;
            // 初始化cron表達式解析器
            try
            {
                exp =  new  CronExpression(cronExpression);
            }
            catch  (Exception e)
            {
                // TODO Auto-generated catch block
                e.printStackTrace();
                return  false ;
            }

            // 定義生成時間范圍
            // 定義開始時間,前一天的23點59分59秒
            Calendar c = Calendar.getInstance();
            String sStart = cronDate +  " 00:00:00" ;
            SimpleDateFormat sdf =  new  SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" );
            Date dStart =  null ;
            try
            {
                dStart = sdf.parse(sStart);
            }
            catch  (ParseException e)
            {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

            c.setTime(dStart);
            c.add(Calendar.SECOND, - 1 );
            dStart = c.getTime();

            // 定義結束時間,當天的23點59分59秒
            c.add(Calendar.DATE,  1 );
            Date dEnd = c.getTime();

            // 生成時間序列
            Date dd = dStart;
            dd = exp.getNextValidTimeAfter(dd);
            while  ((dd.getTime() >= dStart.getTime()) && (dd.getTime() <= dEnd.getTime()))
            {
                result.add(sdf.format(dd));
                dd = exp.getNextValidTimeAfter(dd);
            }
            exp =  null ;
        }
        return  true ;
    }

    public  static  String translateToChinese(String cronExp)
    {
        if  (cronExp ==  null  || cronExp.length() <  1 )
        {
            return  "cron表達式為空" ;
        }
        CronExpression exp =  null ;
        // 初始化cron表達式解析器
        try
        {
            exp =  new  CronExpression(cronExp);
        }
        catch  (Exception e)
        {
            return  "corn表達式不正確" ;
        }
        String[] tmpCorns = cronExp.split( " " );
        StringBuffer sBuffer =  new  StringBuffer();
        if (tmpCorns.length ==  6 )
        {
            //解析月
            if (tmpCorns[ 4 ].equals( "*" ))
            {
                sBuffer.append( "每月" );
            }
            else if (tmpCorns[ 4 ].contains("/")){
                String[] str = StringUtils.split(tmpCorns[ 4 ],"/");
                String first = str[0];
                String last = str[1];
                sBuffer.append( "第" + first + "月開始每隔" + last + "月");
            }
            else
            {
                sBuffer.append(tmpCorns[ 4 ]).append( "月" );
            }
            //解析周
            if (!tmpCorns[ 5 ].equals( "*" ) && !tmpCorns[ 5 ].equals( "?" ))
            {
                if (tmpCorns[ 5 ].contains("/")){
                    String[] str = StringUtils.split(tmpCorns[ 5 ],"/");
                    String first = str[0];
                    String last = str[1];
                    switch  (first)
                    {
                        case  "1" :
                            sBuffer.append( "從星期天開始每隔" + last + "周");
                            break ;
                        case  "2" :
                            sBuffer.append( "從星期一開始每隔" + last + "周");
                            break ;
                        case  "3" :
                            sBuffer.append( "從星期二開始每隔" + last + "周");
                            break ;
                        case  "4" :
                            sBuffer.append( "從星期三開始每隔" + last + "周");
                            break ;
                        case  "5" :
                            sBuffer.append( "從星期四開始每隔" + last + "周");
                            break ;
                        case  "6" :
                            sBuffer.append( "從星期五開始每隔" + last + "周");
                            break ;
                        case  "7" :
                            sBuffer.append( "從星期六開始每隔" + last + "周");
                            break ;
                    }
                }else if (tmpCorns[ 5 ].contains("#")){
                    String[] str = StringUtils.split(tmpCorns[ 5 ],"#");
                    String first = str[0];
                    String last = str[1];
                    switch  (first)
                    {
                        case  "1" :
                            sBuffer.append( "第" + last + "個" + "星期天");
                            break ;
                        case  "2" :
                            sBuffer.append( "第" + last + "個" + "星期一");
                            break ;
                        case  "3" :
                            sBuffer.append( "第" + last + "個" + "星期二");
                            break ;
                        case  "4" :
                            sBuffer.append( "第" + last + "個" + "星期三");
                            break ;
                        case  "5" :
                            sBuffer.append( "第" + last + "個" + "星期四");
                            break ;
                        case  "6" :
                            sBuffer.append( "第" + last + "個" + "星期五");
                            break ;
                        case  "7" :
                            sBuffer.append( "第" + last + "個" + "星期六");
                            break ;
                    }
                }
                else if (tmpCorns[ 5 ].contains("L") && !tmpCorns[ 5 ].contains("W") && tmpCorns[ 5 ].toCharArray().length == 2){
                    switch  (tmpCorns[ 5 ])
                    {
                        case  "1L" :
                            sBuffer.append( "最后一個星期天" );
                            break ;
                        case  "2L" :
                            sBuffer.append( "最后一個星期一" );
                            break ;
                        case  "3L" :
                            sBuffer.append( "最后一個星期二" );
                            break ;
                        case  "4L" :
                            sBuffer.append( "最后一個星期三" );
                            break ;
                        case  "5L" :
                            sBuffer.append( "最后一個星期四" );
                            break ;
                        case  "6L" :
                            sBuffer.append( "最后一個星期五" );
                            break ;
                        case  "7L" :
                            sBuffer.append( "最后一個星期六" );
                            break ;
                    }
                }
                else {
                    String [] tmpArray =  tmpCorns[ 5 ].split(",");
                    for ( String  tmp:tmpArray)
                    {
                        switch  (tmp)
                        {
                            case  "SUN" :
                                sBuffer.append( "星期天" );
                                break ;
                            case  "MON" :
                                sBuffer.append( "星期一" );
                                break ;
                            case  "TUE" :
                                sBuffer.append( "星期二" );
                                break ;
                            case  "WED" :
                                sBuffer.append( "星期三" );
                                break ;
                            case  "THU" :
                                sBuffer.append( "星期四" );
                                break ;
                            case  "FRI" :
                                sBuffer.append( "星期五" );
                                break ;
                            case  "SAT" :
                                sBuffer.append( "星期六" );
                                break ;
                            case  "-" :
                                sBuffer.append( "至" );
                                break ;
                            default :
                                sBuffer.append(tmp);
                                break ;
                        }
                    }
                }
            }

            //解析日
            if (!tmpCorns[ 3 ].equals( "?" ))
            {
                if (tmpCorns[ 3 ].equals( "*" ))
                {
                    sBuffer.append( "每日" );
                }
                else if (tmpCorns[ 3 ].contains("/")){
                    String[] str = StringUtils.split(tmpCorns[ 3 ],"/");
                    String first = str[0];
                    String last = str[1];
                    sBuffer.append( "第" + first + "天開始每隔" + last + "天");
                }
                else if (tmpCorns[ 3 ].contains("L") && tmpCorns[ 3 ].toCharArray().length == 1){
                    sBuffer.append("最后一天");
                }
                else if (tmpCorns[ 3 ].contains("LW") && tmpCorns[ 3 ].toCharArray().length == 2){
                    sBuffer.append("最后一個工作日");
                }
                else if (tmpCorns[ 3 ].contains("L-")){
                    switch  (tmpCorns[ 3 ])
                    {
                        case  "L-1" :
                            sBuffer.append( "月底前1日" );
                            break ;
                        case  "L-2" :
                            sBuffer.append( "月底前2日" );
                            break ;
                        case  "L-3" :
                            sBuffer.append( "月底前3日" );
                            break ;
                        case  "L-4" :
                            sBuffer.append( "月底前4日" );
                            break ;
                        case  "L-5" :
                            sBuffer.append( "月底前5日" );
                            break ;
                        case  "L-6" :
                            sBuffer.append( "月底前6日" );
                            break ;
                        case  "L-7" :
                            sBuffer.append( "月底前7日" );
                            break ;
                        case  "L-8" :
                            sBuffer.append( "月底前8日" );
                            break ;
                        case  "L-9" :
                            sBuffer.append( "月底前9日" );
                            break ;
                        case  "L-10" :
                            sBuffer.append( "月底前10日" );
                            break ;
                        case  "L-11" :
                            sBuffer.append( "月底前11日" );
                            break ;
                        case  "L-12" :
                            sBuffer.append( "月底前12日" );
                            break ;
                        case  "L-13" :
                            sBuffer.append( "月底前13日" );
                            break ;
                        case  "L-14" :
                            sBuffer.append( "月底前14日" );
                            break ;
                        case  "L-15" :
                            sBuffer.append( "月底前15日" );
                            break ;
                        case  "L-16" :
                            sBuffer.append( "月底前16日" );
                            break ;
                        case  "L-17" :
                            sBuffer.append( "月底前17日" );
                            break ;
                        case  "L-18" :
                            sBuffer.append( "月底前18日" );
                            break ;
                        case  "L-19" :
                            sBuffer.append( "月底前19日" );
                            break ;
                        case  "L-20" :
                            sBuffer.append( "月底前20日" );
                            break ;
                        case  "L-21" :
                            sBuffer.append( "月底前21日" );
                            break ;
                        case  "L-22" :
                            sBuffer.append( "月底前22日" );
                            break ;
                        case  "L-23" :
                            sBuffer.append( "月底前23日" );
                            break ;
                        case  "L-24" :
                            sBuffer.append( "月底前24日" );
                            break ;
                        case  "L-25" :
                            sBuffer.append( "月底前25日" );
                            break ;
                        case  "L-26" :
                            sBuffer.append( "月底前26日" );
                            break ;
                        case  "L-27" :
                            sBuffer.append( "月底前27日" );
                            break ;
                        case  "L-28" :
                            sBuffer.append( "月底前28日" );
                            break ;
                        case  "L-29" :
                            sBuffer.append( "月底前29日" );
                            break ;
                        case  "L-30" :
                            sBuffer.append( "月底前30日" );
                            break ;
                        case  "L-31" :
                            sBuffer.append( "月底前31日" );
                            break ;
                    }
                }
                else if (tmpCorns[ 3 ].contains("W") && !tmpCorns[ 3 ].contains("L")){
                    switch  (tmpCorns[ 3 ])
                    {
                        case  "1W" :
                            sBuffer.append( "最近的工作日至本月1日" );
                            break ;
                        case  "2W" :
                            sBuffer.append( "最近的工作日至本月2日" );
                            break ;
                        case  "3W" :
                            sBuffer.append( "最近的工作日至本月3日" );
                            break ;
                        case  "4W" :
                            sBuffer.append( "最近的工作日至本月4日" );
                            break ;
                        case  "5W" :
                            sBuffer.append( "最近的工作日至本月5日" );
                            break ;
                        case  "6W" :
                            sBuffer.append( "最近的工作日至本月6日" );
                            break ;
                        case  "7W" :
                            sBuffer.append( "最近的工作日至本月7日" );
                            break ;
                        case  "8W" :
                            sBuffer.append( "最近的工作日至本月8日" );
                            break ;
                        case  "9W" :
                            sBuffer.append( "最近的工作日至本月9日" );
                            break ;
                        case  "10W" :
                            sBuffer.append( "最近的工作日至本月10日" );
                            break ;
                        case  "11W" :
                            sBuffer.append( "最近的工作日至本月11日" );
                            break ;
                        case  "12W" :
                            sBuffer.append( "最近的工作日至本月12日" );
                            break ;
                        case  "13W" :
                            sBuffer.append( "最近的工作日至本月13日" );
                            break ;
                        case  "14W" :
                            sBuffer.append( "最近的工作日至本月14日" );
                            break ;
                        case  "15W" :
                            sBuffer.append( "最近的工作日至本月15日" );
                            break ;
                        case  "16W" :
                            sBuffer.append( "最近的工作日至本月16日" );
                            break ;
                        case  "17W" :
                            sBuffer.append( "最近的工作日至本月17日" );
                            break ;
                        case  "18W" :
                            sBuffer.append( "最近的工作日至本月18日" );
                            break ;
                        case  "19W" :
                            sBuffer.append( "最近的工作日至本月19日" );
                            break ;
                        case  "20W" :
                            sBuffer.append( "最近的工作日至本月20日" );
                            break ;
                        case  "21W" :
                            sBuffer.append( "最近的工作日至本月21日" );
                            break ;
                        case  "22W" :
                            sBuffer.append( "最近的工作日至本月22日" );
                            break ;
                        case  "23W" :
                            sBuffer.append( "最近的工作日至本月23日" );
                            break ;
                        case  "24W" :
                            sBuffer.append( "最近的工作日至本月24日" );
                            break ;
                        case  "25W" :
                            sBuffer.append( "最近的工作日至本月25日" );
                            break ;
                        case  "26W" :
                            sBuffer.append( "最近的工作日至本月26日" );
                            break ;
                        case  "27W" :
                            sBuffer.append( "最近的工作日至本月27日" );
                            break ;
                        case  "28W" :
                            sBuffer.append( "最近的工作日至本月28日" );
                            break ;
                        case  "29W" :
                            sBuffer.append( "最近的工作日至本月29日" );
                            break ;
                        case  "30W" :
                            sBuffer.append( "最近的工作日至本月30日" );
                            break ;
                        case  "31W" :
                            sBuffer.append( "最近的工作日至本月31日" );
                            break ;
                    }
                }
                else
                {
                    sBuffer.append(tmpCorns[ 3 ]).append( "日" );
                }
            }

            //解析時
            if (tmpCorns[ 2 ].equals( "*" ))
            {
                sBuffer.append( "每時" );
            }
            else if (tmpCorns[ 2 ].contains("/")){
                String[] str = StringUtils.split(tmpCorns[ 2 ],"/");
                String first = str[0];
                String last = str[1];
                sBuffer.append( "第" + first + "時開始每隔" + last + "時");
            }
            else
            {
                sBuffer.append(tmpCorns[ 2 ]).append( "時" );
            }

            //解析分
            if (tmpCorns[ 1 ].equals( "*" ))
            {
                sBuffer.append( "每分" );
            }
            else if (tmpCorns[ 1 ].contains("/")){
                String[] str = StringUtils.split(tmpCorns[ 1 ],"/");
                String first = str[0];
                String last = str[1];
                sBuffer.append( "第" + first + "分開始每隔" + last + "分");
            }
            else
            {
                sBuffer.append(tmpCorns[ 1 ]).append( "分" );
            }

            //解析秒
            /*if (!tmpCorns[ 0 ].equals( "*" ))
            {
                sBuffer.append(tmpCorns[ 0 ]).append( "秒" );
            }
            else
            {
                sBuffer.append( "每秒" );
            }*/
        }

        return  sBuffer.toString();

    }

    //測試方法
//    public  static  void  main(String[] args)
//    {
//        String CRON_EXPRESSION =  "01 * * 2L * ?" ;
//        // 生成指定日期的CRON時間序列
//        String CRON_DATE =  "2016-04-26" ;
//        System.out.println(CRON_EXPRESSION);
//        System.out.println(translateToChinese(CRON_EXPRESSION));
//
//        List<String> lTime =  new  ArrayList<String>();
//        if (!parser(CRON_EXPRESSION, CRON_DATE, lTime)){
//            System.out.println( "無法生成Cron表達式:日期," +CRON_DATE+ ";不符合規(guī)則cron表達式:" +CRON_EXPRESSION);
//        }
//        for ( int  i= 0 ;i<lTime.size();i++){
//            System.out.println(lTime.get(i));
//        }
//
//    }
}

該插件存在的一個缺陷

cron表達式前端組件,前端總結(es6   vue   layui ),vue.js,前端,ui
如圖中生成的cron表達式 * * * 1L * ? * 是錯誤的表達式,應為 * * * ? * 1L *才對

參考:

 public static void main(String[] args){
        String execTime = "* * * 1L * ?";
        String resultString = "";
        String[] str = execTime.split(" ");
        if((str[3].equalsIgnoreCase("1L")  || str[3].equalsIgnoreCase("2L")  || str[3].equalsIgnoreCase("3L")  || str[3].equalsIgnoreCase("4L")  || str[3].equalsIgnoreCase("5L")  || str[3].equalsIgnoreCase("6L")|| str[3].equalsIgnoreCase("7L")) && str[5].equalsIgnoreCase("?")){
            str[5] = str[3];
            str[3] = "?";
            for (String s : str) {
                resultString += s+" ";
            }
            System.out.println(resultString.substring(0,execTime.length()));
        }
    }

輸出:* * * ? * 1L文章來源地址http://www.zghlxwxcb.cn/news/detail-665823.html

到了這里,關于Cron在前端的使用,vue與element ui的vue-cron插件的使用及將定時任務cron表達式解析成中文的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 一次講清楚Linux Cron和 Spring Cron

    一次講清楚Linux Cron和 Spring Cron

    定時任務是我們日常開發(fā)中經常用到的一個功能點,無論是Linux服務器上Crontab還是Spring task?schedule,都會使用到cron表達式去實現(xiàn)定時任務的配置。不過,一定要注意,Linux cron表達式和Spring的cron表達式不一樣,下面來一次講清楚。 一,Linux cron表達式 1,長度: 5 位 (中間有一

    2024年02月11日
    瀏覽(26)
  • vue前端直接使用element-ui的upload組件上傳到阿里云OSS存儲

    vue前端直接使用element-ui的upload組件上傳到阿里云OSS存儲

    因為公司的服務器比較拉吧,所以老大決定將數據文件等上傳到阿里云服務器,通過ali-oss方式,這樣的話讀取文件也比較快? (能看到這說明什么安裝element-ui都會了,我就不詳細介紹了,直接跳過)? 在執(zhí)行下面操作之前,你要確定你的阿里云能看到上邊這個頁面? ?這里主

    2024年02月10日
    瀏覽(37)
  • 【小項目】微信定時推送天氣預報Github項目使用及原理介紹-包含cron、天氣預報、常用api...

    【小項目】微信定時推送天氣預報Github項目使用及原理介紹-包含cron、天氣預報、常用api...

    一、資料鏈接 1、github地址 https://github.com/qq1534774766/wx-push 2、教程地址 https://blog.csdn.net/qq15347747/article/details/126521774 3、易客云API(自動發(fā)送天氣) https://yikeapi.com/account/index 4、apispace-各種接口(名人名言) https://www.apispace.com/console/api?orgId=6356 5、微信公眾平臺 https://mp.weixin.qq.com/d

    2024年02月02日
    瀏覽(34)
  • 優(yōu)化VUE Element UI的上傳插件

    優(yōu)化VUE Element UI的上傳插件

    默認ElmentUI的文件列表只有一個刪除按鈕,我需要加預覽、下載、編輯等,就需要優(yōu)化顯示結果。 優(yōu)化后沒用上傳進度條,又加了一個進度條效果 代碼

    2024年02月09日
    瀏覽(19)
  • golang-定時任務cron

    golang-定時任務cron

    服務器開發(fā)的過程中,經常遇到需要設置定時任務的情況。本文將探討使用golang的cron包設置定時任務,你將收獲cron表達式的使用,cron函數的使用,設置定時任務的場景 設定定時任務最重要的一環(huán)就是對定時的設置,cron中對定時的設置采取cron表達式 在線cron表達式生成器:

    2024年02月10日
    瀏覽(21)
  • Cron 選擇器

    Cron 選擇器

    2024年02月16日
    瀏覽(16)
  • cron表達式 詳解

    cron表達式 詳解

    corn表達式是: 由若干數字、空格、符號按一定的規(guī)則,組成的一組字符串,從而表達時間的信息。 好像和正則表達式有點類似哈,都是一個字符串表示一些信息。 Cron 表達式生成器: Smart Tools - 智能工具箱 Cron 表達式是一個具有時間含義的字符串,字符串以 5 或 6 個空格隔

    2024年02月04日
    瀏覽(20)
  • linux-系統(tǒng)定時任務cron

    linux-系統(tǒng)定時任務cron

    cron是linux系統(tǒng)中以后臺進程模式周期性地執(zhí)行命令或指定程序任務地服務軟件。默認安裝完linux系統(tǒng)之后,cron服務軟件便會啟動,服務對應的進程名字為crond。corn服務會定期(默認每分鐘檢查一次)檢查系統(tǒng)中是否有需要執(zhí)行的任務工作計劃。 cron工具對應的crontab命令依賴于

    2024年04月12日
    瀏覽(25)
  • 【SpringBoot筆記】定時任務(cron)

    【SpringBoot筆記】定時任務(cron)

    定時任務就是在固定的時間執(zhí)行某個程序,鬧鐘的作用。 1.在啟動類上添加注解 2.創(chuàng)建定時任務類 在這個類里面使用表達式設置什么時候執(zhí)行 cron 表達式(也叫七子表達式),設置執(zhí)行規(guī)則 在線生成 cron 表達式工具:在線Cron表達式生成器 比如每隔 5 秒執(zhí)行一次 ?比如每天凌

    2024年02月13日
    瀏覽(30)
  • ?Vue + Element UI前端篇(二):Vue + Element 案例 ?

    ?Vue + Element UI前端篇(二):Vue + Element 案例 ?

    打開 Visual Studio Code,F(xiàn)ile -- add Folder to Workspace,導入我們的項目。 安裝依賴 Element 是國內餓了么公司提供的一套開源前端框架,簡潔優(yōu)雅,提供了 vue、react、angular 等多個版本,我們這里使用 vue 版本來搭建我們的界面。 訪問:http://element-cn.eleme.io/#/zh-CN/component/installation?,官

    2024年02月09日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包