Java SE 下使用Timer和TimerTask进行定时服务,时间的格式化

2023-11-03 17:08

本文主要是介绍Java SE 下使用Timer和TimerTask进行定时服务,时间的格式化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 最近在做一个项目,用到了定时服务,所以把代码拿来与大家分享。

 

    /**
     * 根据启动时间,启动定时器的定时服务,间隔24小时字段运行

     *  @author 李文锴
     * @param time
     */
    private void getOrderByAuto(String time) {
        timer = new Timer();
        //任务调度
        timer.schedule(new TimerTask() {

            @Override
            public void run() {
                if (flag) {//如果是第一次运行
                    getStockDataFromDate(TimeFormat.Date2String(new Date()));
                    getTransDataFromDate(TimeFormat.Date2String(new Date()));
                    flag = false;
                } else {//如果不是第一次运行
                    getStockDataByDate(TimeFormat.Date2String(new Date()));
                    getTransDataByDate(TimeFormat.Date2String(new Date()));
                }
            }
        }, TimeFormat.String2Time(time), (long) 1000 * 3600 * 24);
        System.out.println("定时服务已启动,第一次运行时间:" + time);
    }

    /**
     * 取消定时器
     */
    private void cancelGetOrderAuto() {
        if (timer != null) {
            timer.cancel();
        }
        System.out.println("定时服务已取消!");
    }

====================================================

/**
 * 时间格式化类
 * @author 李文锴
 */
public class TimeFormat {

    /**
     * 将字符串类型转换为yyyy-MM-dd格式的时间
     * @param date
     * @return
     */
    public static Date String2Date(String date) {
        try {
            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
            return df.parse(date);
        } catch (ParseException ex) {
            return null;
        }
    }

    /**
     * 将字符串类型转换为yyyy-MM-dd,格式的时间
     * @param time 时间字符串,格式yyyy-MM-dd HH:mm:ss
     * @return
     */
    public static Date String2Time(String time) {
        try {
            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            return df.parse(time);
        } catch (ParseException ex) {
            return null;
        }
    }

    /**
     * 将时间转换为yyyy-MM-dd格式的字符串
     * @param date
     * @return
     */
    public static String Date2String(Date date) {
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
        return formatter.format(date);
    }
}

 

 

 



这篇关于Java SE 下使用Timer和TimerTask进行定时服务,时间的格式化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/339649

相关文章

从零教你安装pytorch并在pycharm中使用

《从零教你安装pytorch并在pycharm中使用》本文详细介绍了如何使用Anaconda包管理工具创建虚拟环境,并安装CUDA加速平台和PyTorch库,同时在PyCharm中配置和使用PyTor... 目录背景介绍安装Anaconda安装CUDA安装pytorch报错解决——fbgemm.dll连接p

Java对象和JSON字符串之间的转换方法(全网最清晰)

《Java对象和JSON字符串之间的转换方法(全网最清晰)》:本文主要介绍如何在Java中使用Jackson库将对象转换为JSON字符串,并提供了一个简单的工具类示例,该工具类支持基本的转换功能,... 目录前言1. 引入 Jackson 依赖2. 创建 jsON 工具类3. 使用示例转换 Java 对象为

SpringBoot快速接入OpenAI大模型的方法(JDK8)

《SpringBoot快速接入OpenAI大模型的方法(JDK8)》本文介绍了如何使用AI4J快速接入OpenAI大模型,并展示了如何实现流式与非流式的输出,以及对函数调用的使用,AI4J支持JDK8... 目录使用AI4J快速接入OpenAI大模型介绍AI4J-github快速使用创建SpringBoot

Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)

《Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)》文章介绍了如何使用dhtmlx-gantt组件来实现公司的甘特图需求,并提供了一个简单的Vue组件示例,文章还分享了一... 目录一、首先 npm 安装插件二、创建一个vue组件三、业务页面内 引用自定义组件:四、dhtmlx

使用Python创建一个能够筛选文件的PDF合并工具

《使用Python创建一个能够筛选文件的PDF合并工具》这篇文章主要为大家详细介绍了如何使用Python创建一个能够筛选文件的PDF合并工具,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录背景主要功能全部代码代码解析1. 初始化 wx.Frame 窗口2. 创建工具栏3. 创建布局和界面控件4

一文详解如何在Python中使用Requests库

《一文详解如何在Python中使用Requests库》:本文主要介绍如何在Python中使用Requests库的相关资料,Requests库是Python中常用的第三方库,用于简化HTTP请求的发... 目录前言1. 安装Requests库2. 发起GET请求3. 发送带有查询参数的GET请求4. 发起PO

Python进行PDF文件拆分的示例详解

《Python进行PDF文件拆分的示例详解》在日常生活中,我们常常会遇到大型的PDF文件,难以发送,将PDF拆分成多个小文件是一个实用的解决方案,下面我们就来看看如何使用Python实现PDF文件拆分... 目录使用工具将PDF按页数拆分将PDF的每一页拆分为单独的文件将PDF按指定页数拆分根据页码范围拆分

Java中的Cursor使用详解

《Java中的Cursor使用详解》本文介绍了Java中的Cursor接口及其在大数据集处理中的优势,包括逐行读取、分页处理、流控制、动态改变查询、并发控制和减少网络流量等,感兴趣的朋友一起看看吧... 最近看代码,有一段代码涉及到Cursor,感觉写法挺有意思的。注意是Cursor,而不是Consumer

解决java.lang.NullPointerException问题(空指针异常)

《解决java.lang.NullPointerException问题(空指针异常)》本文详细介绍了Java中的NullPointerException异常及其常见原因,包括对象引用为null、数组元... 目录Java.lang.NullPointerException(空指针异常)NullPointer

javaScript在表单提交时获取表单数据的示例代码

《javaScript在表单提交时获取表单数据的示例代码》本文介绍了五种在JavaScript中获取表单数据的方法:使用FormData对象、手动提取表单数据、使用querySelector获取单个字... 方法 1:使用 FormData 对象FormData 是一个方便的内置对象,用于获取表单中的键值