Date与Quartz的cron之间的相互转换「建议收藏」

Date与Quartz的cron之间的相互转换「建议收藏」实现Date与Quartz的cron之间的相互转换.

大家好,又见面了,我是你们的朋友全栈君。

1.概述

最近在写一个Quartz相关的模块,需要实现Date与Quartz的cron之间的相互转换,在网上查了一下竟然没有找到,但是找到一份这样的博客:http://hw1287789687.iteye.com/blog/2004202 给自己了启发,自己在参考该博主的基础上,增加了cron转date的方法,撰写该文章。

2.实战

直接上代码:



import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 该类提供Quartz的cron表达式与Date之间的转换
 * Created by zhangzh on 2016/8/2.
 */
public class CronDateUtils {
    private static final String CRON_DATE_FORMAT = "ss mm HH dd MM ? yyyy";

    /***
     *
     * @param date 时间
     * @return  cron类型的日期
     */
    public static String getCron(final Date  date){
        SimpleDateFormat sdf = new SimpleDateFormat(CRON_DATE_FORMAT);
        String formatTimeStr = "";
        if (date != null) {
            formatTimeStr = sdf.format(date);
        }
        return formatTimeStr;
    }

    /***
     *
     * @param cron Quartz cron的类型的日期
     * @return  Date日期
     */

    public static Date getDate(final String cron) {


        if(cron == null) {
            return null;
        }

        SimpleDateFormat sdf = new SimpleDateFormat(CRON_DATE_FORMAT);
        Date date = null;
        try {
            date = sdf.parse(cron);
        } catch (ParseException e) {
            return null;// 此处缺少异常处理,自己根据需要添加
        }
        return date;
    }
}

测试如下:

public class Test {
  
    public static void main(String[] args) {
        Date now = new Date();
        System.out.println(CronDateUtils.getCron(now));

        String cron = "20 28 17 02 08 ? 2016";

        Date cronDate = CronDateUtils.getDate(cron);
        System.out.println("===================");
        System.out.println(cronDate.toString());


    }
}

输出:

30 15 16 05 08 ? 2016
===================
Tue Aug 02 17:28:20 CST 2016

看,简单吧!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/149587.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ThinkPHP运算符 与 SQL运算符 对比表[通俗易懂]

    ThinkPHP运算符 与 SQL运算符 对比表

    2022年1月23日
    48
  • java lang nullpointer_java.lang.throwable

    java lang nullpointer_java.lang.throwableIntentintent=registerReceiver(null,newIntentFilter(Intent.ACTION_BATTERY_CHANGED));查询电量的时候可以通过上面这种方式返回一个intent,从这个intent中也确实能够拿到我们想要要的信息,但是平常我们注册普通的广播的时候都习惯传入一个receiver,如果有电量改变就会不停的执行receiver的onR…

    2025年10月28日
    3
  • origin绘图软件安装包及入门使用

    origin绘图软件安装包及入门使用1、安装包(2018版)origin是大多被数科研人员选择的数据绘图软件,功能齐全,简单易用,百度云:链接:https://pan.baidu.com/s/1fQRtfwczwye8MfPDi6BmrQ提取码:y72a安装过程及破解方法比较简单自行搜索2、软件界面介绍打开软件如下图所示,1、book用来存放实验数据,如果有多个Y值可以点击工具栏中“列”来添加更多的列值。表格中的数据可以直接从excle中复制进来,简单易用。2、绘图:在book中加入数据后,选中数据选择左下…

    2022年6月9日
    39
  • Python表白代码:太秀了,用过的人都找到了对象…【满屏玫瑰盛开】

    Python表白代码:太秀了,用过的人都找到了对象…【满屏玫瑰盛开】导语暗恋让人受尽委屈!一开始,你是我的秘密,我怕你知道,又怕你不知道,又怕你知道装作不知道!这大概就是暗恋的感受吧,可若是双向奔赴,那简更是甜蜜度爆表,快同小编吃下这波狗粮!跟着上一期的玫瑰花花样表白之后,小编新出了2款新型升级之后的表白代码!花样表白总有一款是你喜欢的!效果满分~正文还是熟悉的配方!熟悉的味道!盛开的蓝玫瑰效果如下:附源码:t.setup(800,800)t.hideturtle()t.speed(11)t.penup().

    2022年5月5日
    98
  • java实现10种排序算法[通俗易懂]

    java实现10种排序算法[通俗易懂]1.冒泡排序(BubbleSort)importjava.util.Arrays;//冒泡排序publicclassBubbleSort_01{ publicstaticvoidmain(String[]args){ inta[]={3,44,38,5,47,15,36,26,27,2,46,4,19,50,48}; //记录比较次数 intcount=0; //i=0,第一轮比较 for(inti=0;i<a.length-1;i

    2022年6月21日
    25
  • win7安装vs2015失败_win10还是win7

    win7安装vs2015失败_win10还是win7错误日志:解决方法:1、把vs2008镜像文件下的\WCU\WebDesignerCore\WebDesignerCore.EXE手动解压到一个地方(注意解压出来的文件夹里面有个Office.zh-cn)2、找一个Office2007光盘或光盘镜像,找到Office.zh-cn文件夹,把该文件夹复制,然后覆盖到上一步解压中的Office.zh-cn中3、在第一步解压出来的文

    2025年8月30日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号