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)
上一篇 2022年6月17日 上午6:00
下一篇 2022年6月17日 上午6:16


相关推荐

  • 模式识别之图片搜索—匹配原理

    模式识别之图片搜索—匹配原理

    2021年9月1日
    58
  • CString转int

    int转CString就不细说了,使用format即可,这里简单介绍下CString转int的一种简便方法CStringstrNum("100");intnum;//ANSInum=atoi(strNum);num=_ttoi(strNum);//UNICODEnum=atoi(CT2A(strNum.Getbuff()));num=_ttoi(…

    2022年4月4日
    54
  • 聋哑人手语翻译器

    聋哑人手语翻译器

    2026年3月15日
    2
  • MySQL删除表数据 MySQL清空表命令 3种方法

    MySQL删除表数据 MySQL清空表命令 3种方法一、MySQL清空表数据命令:truncateSQL语法:truncatetable表名注意:不能与where一起使用。 truncate删除数据后是不可以rollback的。 truncate删除数据后会重置Identity(标识列、自增字段),相当于自增列会被置为初始值,又重新从1开始记录,而不是接着原来的ID数。 truncate删除数据后不写服务器log,整体删除速度快。 truncate删除数据后不激活trigger(触发器)。二、MySQL删除表命令:

    2022年6月4日
    74
  • pycharmhtml插件_pycharm官方中文插件

    pycharmhtml插件_pycharm官方中文插件一、常用配置一、设置文件字符编码二、设置文件模板三、设置文字大小四、修改行数和方发线五、关闭应用更新二、常用插件RainbowCSV将CSV的不同的列用不同的颜色标出RainbowBrackets将每对匹配的括号都变成彩色的IndentRainbow将索引变成彩色CodeGlance在右边生成代码缩略图MaterialTheme不同风格的主题Chinese(Simplified)LanguagePack中文语言包Ke

    2025年7月8日
    5
  • python的逻辑运算符实例_Python逻辑运算符运算实例讲解

    python的逻辑运算符实例_Python逻辑运算符运算实例讲解与运算 只有两个布尔值都为 True 时 计算结果才为 True TrueandTrue gt TrueTrueandF gt FalseFalsean gt FalseFalsean gt False 或运算 只要有一个布尔值为 True 计算结果就是 True TrueorTrue

    2026年3月17日
    2

发表回复

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

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