Java时间日期转Cron表达式

简介: Java时间日期转Cron表达式

老规矩话不多说直接上代码:
package com.hx.dxyw.service.impl;

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

/**

  • java日期转cron表达式工具类
    */
    public class CronUtils {

    /**

    • 每年时间format格式
      */
      private static final String DATEFORMAT_YEAR = "ss mm HH dd MM ? yyyy";

      /**

    • 每天时间format格式
      /
      private static final String DATEFORMAT_EVERYDAY = "ss mm HH
      * ?";

      /**

    • 每周时间format格式
      /
      private static final String SUNDAY = "ss mm HH ?
      1";
      private static final String MONDAY = "ss mm HH ? 2";
      private static final String TUESDAY = "ss mm HH ?
      3";
      private static final String WEDNESDAY = "ss mm HH ? 4";
      private static final String THURSDAY = "ss mm HH ?
      5";
      private static final String FRIDAY = "ss mm HH ? 6";
      private static final String SATURADY = "ss mm HH ?
      7";

      public static String formatDateByPattern(Date date, String dateFormat) {
      SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);
      String formatTimeStr = null;
      if (date != null) {

       formatTimeStr = sdf.format(date);
      

      }
      return formatTimeStr;
      }
      /**

    • 时间转换时间表达式
      */
      public static String getCron(Date date, String dateFormat) {
      return formatDateByPattern(date, dateFormat);
      }

      public static void main(String[] args)throws Exception{
      String cron = getCron(new Date(), SUNDAY);
      System.out.println("每周六执行"+cron);

      String cron1 = getCron(new Date(), DATEFORMAT_EVERYDAY);
      System.out.println("每天执行"+cron1);

      String cron2 = getCron(new Date(), DATEFORMAT_YEAR);
      System.out.println("执行一次"+cron2);

      }
      }

相关文章
|
5天前
|
Java API 开发者
Java中的Lambda表达式与函数式编程####
在Java的演变过程中,Lambda表达式和函数式编程的引入无疑是一次重大的飞跃。本文将深入探讨Lambda表达式的定义、用法及优势,并结合实例说明如何在Java中利用Lambda表达式进行函数式编程。通过对比传统编程方式,揭示Lambda表达式如何简化代码、提高开发效率和可维护性。 ####
|
13天前
|
自然语言处理 安全 Java
Aviator Java 表达式引擎
AviatorScript 是一门高性能、轻量级寄宿于 JVM 之上的脚本语言。
30 10
|
11天前
|
Java API 数据处理
探索Java中的Lambda表达式与Stream API
【10月更文挑战第22天】 在Java编程中,Lambda表达式和Stream API是两个强大的功能,它们极大地简化了代码的编写和提高了开发效率。本文将深入探讨这两个概念的基本用法、优势以及在实际项目中的应用案例,帮助读者更好地理解和运用这些现代Java特性。
|
14天前
|
Java API
[Java]Lambda表达式
本文主要介绍了Java中的Lambda表达式,包括其优化匿名内部类的方式、使用规范、内置函数式接口及方法引用等内容。文章详细解析了Lambda的基础语法、参数列表、方法体的简化规则,以及如何利用Lambda优化代码。此外,还探讨了Lambda的作用域和引用规则,强调了对局部变量、成员变量和常量的访问限制,旨在帮助读者全面理解和掌握Lambda表达式的应用。
11 0
[Java]Lambda表达式
|
24天前
|
Java 程序员 API
Java中的Lambda表达式:简化代码的秘密武器
【10月更文挑战第11天】 在Java编程中,Lambda表达式是一种简洁而强大的工具,它允许我们将函数作为参数传递给其他方法。本文将介绍Lambda表达式的基本概念、使用方法以及在实际项目中的应用案例,帮助你更好地理解和利用这一特性来简化代码。
21 8
|
安全 Java API
java 8 日期操作,真香
java 8 日期操作,真香
121 0
|
Java 数据安全/隐私保护
java之正则表达式、日期操作
正则表达式和日期操作 正则表达式简介   正则表达式就是使用一系列预定义的特殊字符来描述一个字符串的格式规则,然后使用该格式规则匹配某个字符串是否符合格式要求。   作用:比如注册邮箱,邮箱有用户名和密码,一般会对其限制长度,这个限制长度的事情就是正则表达式做的 规则 .”和”\” “.”点儿,在正则表达式中表示任意一个字符。
3185 0
|
Java
JAVA 日期操作
1.用java.util.Calender来实现   Calendar calendar=Calendar.getInstance(); calendar.setTime(new Date()); System.
811 0
|
9天前
|
安全 Java
java 中 i++ 到底是否线程安全?
本文通过实例探讨了 `i++` 在多线程环境下的线程安全性问题。首先,使用 100 个线程分别执行 10000 次 `i++` 操作,发现最终结果小于预期的 1000000,证明 `i++` 是线程不安全的。接着,介绍了两种解决方法:使用 `synchronized` 关键字加锁和使用 `AtomicInteger` 类。其中,`AtomicInteger` 通过 `CAS` 操作实现了高效的线程安全。最后,通过分析字节码和源码,解释了 `i++` 为何线程不安全以及 `AtomicInteger` 如何保证线程安全。
java 中 i++ 到底是否线程安全?