转载java定时器时间配置,java实现定时器的四种方式

本文目录一览:

java定时器执行时间问题

写个Demo,你要的应该是这个吧。

//获得当天的日期

SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd “);

Date date = new Date();

//定义开始时间字符串

String timeStr = “08:00:00”;

timeStr = sdf.format(date)+timeStr;

//获得当天的指定时间的date对象

sdf = new SimpleDateFormat(“yyyy-MM-dd hh:mm:ss”);

date = sdf.parse(timeStr);

//判断今天的执行时间是否已经过去,如果过去则改为明天

if(date.getTime()System.currentTimeMillis()){

date = new Date(date.getTime()+24*60*60*1000);

}

TimerTask task = new TimerTask(){

@Override

public void run() {

//your task

}

};

Timer timer = new Timer();

timer.schedule(task, date, 24*60*60*1000);

java 定时器

配置web.xml

listener

listener-classcom.yohn.timer.ExecTimer/listener

/listener

********************************************************************

java源文件

package com.yohn.timmer;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileWriter;

import java.io.IOException;

import java.util.Date;

import java.util.Timer;

import java.util.TimerTask;

import javax.servlet.ServletContextEvent;

import javax.servlet.ServletContextListener;

public class SetTimerExecute extends TimerTask implements ServletContextListener

{

public void contextDestroyed(ServletContextEvent arg0)

{

System.out.println(“服务器停止”);

}

public void contextInitialized(ServletContextEvent arg0)

{

System.out.println(“服务器启动”);

//新建一个时间控件

Timer t = new Timer();

//指定的任务从指定的延迟后开始进行重复的固定延迟执行。

t.schedule(new SetTimerExecute(),1000,1000);

}

public void run()

{

FileWriter fs = null;

BufferedWriter buf = null;

try

{

File f = new File(“/test.txt”);

if (!f.exists())

f.createNewFile();

fs = new FileWriter(f,true);

buf = new BufferedWriter(fs);

//每天上午7点写入到文件

if(new Date().getHours()==7)

{

SimpleDateFormat myFormatter = new SimpleDateFormat(“yyyy-MM-dd”);

System.out.print(“起床啦!起床啦!”);

f.write(“定时打印:” + myFormatter.format(new Date();));

buf.newLine();

}

}

catch (Exception e)

{

e.printStackTrace();

}

finally

{

try

{

buf.flush();

fs.close();

}

catch (IOException e)

{

}

}

}

}

java定时器 时间间隔

开启一个线程,run的主代码如下:

for(int index=0; index30; index++) {

    //do something;

    if(index6)

        TimeUnit.MINUTES.sleep(10);

    else if(index12)

        TimeUnit.MINUTES.sleep(20);

    else

        TimeUnit.HOURS.sleep(1);

    }

原创文章,作者:UOHZQ,如若转载,请注明出处:https://www.506064.com/n/316867.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
UOHZQUOHZQ
上一篇 2025-01-09 12:15
下一篇 2025-01-09 12:15

相关推荐

  • 解决docker-compose 容器时间和服务器时间不同步问题

    docker-compose是一种工具,能够让您使用YAML文件来定义和运行多个容器。然而,有时候容器的时间与服务器时间不同步,导致一些不必要的错误和麻烦。以下是解决方法的详细介绍…

    编程 2025-04-29
  • Python缓存图片的处理方式

    本文将从多个方面详细阐述Python缓存图片的处理方式,包括缓存原理、缓存框架、缓存策略、缓存更新和缓存清除等方面。 一、缓存原理 缓存是一种提高应用程序性能的技术,在网络应用中流…

    编程 2025-04-29
  • 想把你和时间藏起来

    如果你觉得时间过得太快,每天都过得太匆忙,那么你是否曾经想过想把时间藏起来,慢慢享受每一个瞬间?在这篇文章中,我们将会从多个方面,详细地阐述如何想把你和时间藏起来。 一、一些时间管…

    编程 2025-04-28
  • 计算斐波那契数列的时间复杂度解析

    斐波那契数列是一个数列,其中每个数都是前两个数的和,第一个数和第二个数都是1。斐波那契数列的前几项为:1,1,2,3,5,8,13,21,34,…。计算斐波那契数列常用…

    编程 2025-04-28
  • 时间戳秒级可以用int吗

    时间戳是指从某个固定的时间点开始计算的已经过去的时间。在计算机领域,时间戳通常使用秒级或毫秒级来表示。在实际使用中,我们经常会遇到需要将时间戳转换为整数类型的情况。那么,时间戳秒级…

    编程 2025-04-28
  • 如何在ACM竞赛中优化开发时间

    ACM竞赛旨在提高程序员的算法能力和解决问题的实力,然而在比赛中优化开发时间同样至关重要。 一、规划赛前准备 1、提前熟悉比赛规则和题目类型,了解常见算法、数据结构和快速编写代码的…

    编程 2025-04-28
  • Python在线编辑器的优势与实现方式

    Python在线编辑器是Python语言爱好者的重要工具之一,它可以让用户方便快捷的在线编码、调试和分享代码,无需在本地安装Python环境。本文将从多个方面对Python在线编辑…

    编程 2025-04-28
  • 使用JavaScript日期函数掌握时间

    在本文中,我们将深入探讨JavaScript日期函数,并且从多个视角介绍其应用方法和重要性。 一、日期的基本表示与获取 在JavaScript中,使用Date对象来表示日期和时间,…

    编程 2025-04-28
  • Java表单提交方式

    Java表单提交有两种方式,分别是get和post。下面我们将从以下几个方面详细阐述这两种方式。 一、get方式 1、什么是get方式 在get方式下,表单的数据会以查询字符串的形…

    编程 2025-04-27
  • 用Pythonic的方式编写高效代码

    Pythonic是一种编程哲学,它强调Python编程风格的简单、清晰、优雅和明确。Python应该描述为一种语言而不是一种编程语言。Pythonic的编程方式不仅可以使我们在编码…

    编程 2025-04-27

发表回复

登录后才能评论