java怎么根据用户设定的时间执行定时任务

如题所述

// 一天的毫秒数
long daySpan = 24 * 60 * 60 * 1000;

// 规定的每天时间15:33:30运行
final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd '15:33:30'");
// 首次运行时间
Date startTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(sdf.format(new Date()));

// 如果今天的已经过了 首次运行时间就改为明天
if(System.currentTimeMillis() > startTime.getTime())
startTime = new Date(startTime.getTime() + daySpan);

Timer t = new Timer();

TimerTask task = new TimerTask(){
@Override
public void run() {
// 要执行的代码
System.err.println("xxxxxxxxx");
}
};

// 以每24小时执行一次
t.scheduleAtFixedRate(task, startTime, daySpan);
温馨提示:内容为网友见解,仅供参考
无其他回答

java如何根据用户设定的时间进行定时任务
1.MyJob02 \/\/首先我们需要定义一个任务类,比如为MyJob02 ,\/\/该类需要继承Job类,然后添加execute(JobExecutionContext context)方法,在 \/\/这个方法中就是我们具体的任务执行的地方。\/\/由希望由调度程序执行的组件实现的接口 public class MyJob02 implements Job { Override public void execute(JobExe...

java定时任务的定时表达式,每天早晨6:是每个月的1号和15号执行任务
这段代码的核心是通过`schedule`方法,设置`TimerTask`在特定的时间执行。`getTargetDate`方法用于计算下次执行任务的具体日期,根据不同日期条件进行调整。通过`Task2`的类型参数,我们可以区分每月1号和15号的任务。当任务执行完毕后,会取消当前任务并重新安排在下一次指定日期。

java定时任务的定时表达式,每天早晨6:30执行任务,还有一个是...
Java定时任务的定时表达式,若需要每天早晨6:30执行任务,可以使用cron表达式“30 6 * * *”。另外,如果需要设置其他时间的定时任务,可以根据具体需求制定相应的cron表达式。1. 关于每天早晨6:30执行任务的定时表达式:- 在Java中,我们常常使用cron表达式来设置定时任务。对于每天早晨6:30执行...

用java写一个服务程序定时执行任务,该怎么设计
二、循环执行设置定时任务的时候,往往我们需要重复的执行这样任务,每隔一段时间执行一次,而上面的方法是只执行一次的,这样就用到了schedule方法的是另一个重载函数public void schedule(TimerTask task,long delay,long period)前两个参数就不用说什么了,最后一个参数就是间隔的时间,又是个long型的...

不用任何框架,Java 就能实现定时任务的 3 种方法!
第一种方法是使用 sleep,通过在死循环中添加 sleep 休眠逻辑,实现按照固定频率运行的定时任务。这种方式比较直接,但只能按固定频率运行,且在 JDK 8 中使用了 Lambda 表达式。第二种方法是使用 Timer 类,它在 JDK 1.3 中内置。可以设置首次执行的延迟时间、首次执行的具体日期时间,以及执行频率。

在Java中如何设置一个定时任务,在每天的一个时间点自动执行一个特定的...
<bean id="mainTask" class="net.timed.MainTask"\/> \/\/你要执行的任务类 \/\/jar类 <bean id="mainJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject"> <ref bean="mainTask"\/>\/\/将你的类添加到定时器当中 <\/property> ...

如何实现定时任务- Java Timer\/TimerTask 源码解析
现在就来看一下java.util.Timer是如何实现这样的定时功能的。首先,我们来看一下一个使用demo 基本的使用方法:加入任务的API如下:可以看到API方法内部都是调用sched方法,其中time参数下一次任务执行时间点,是通过计算得到。period参数为0的话则表示为一次性任务。那么我们来看一下Timer内部是如何实现调度...

JAVA里怎么实现,在某个固定的日期进行提醒?
使用Java自带的定时器 Timer 类 写一个定时器。把该类写好编译后。写一个 bat 文件(批处理文件)调用该类。然后将该bat 文件 注册到操作系统服务中,使得开机自启动。这样每次开机后,系统都会调用该服务->执行批处理文件->执行该定时器。这样到了定时器中指定的时间后,就会有提醒。至于如何提醒,...

java定时执行问题: 我想让一个Java代码在每小时的第25分钟执行一次的...
在主类中读取定义文件,任务计划自动运行。public class Test(){ public void static main(String[] args){ ApplicationContext context = new ClassPathXmlApplicationContext("beans-config.xml");} } 将配置文件放在该项目的classpath下,一般你放在src目录下即可。也可以自己创建路径放置,在项目的....

给我5分钟,手把手带你学会Java中的定时任务!
在寻找快速实现Java中定时任务的简便方法时,Spring Task可能是你理想的解决方案。无需深入研究复杂工具如Quartz、XXL-Job或Elastic-Job,Spring Task以其简单易用性脱颖而出。只需短短5分钟,你便能掌握定时任务的精髓。定时任务,或任务调度,旨在按照设定的时间间隔或特定日期重复执行任务,比如自动备份...

相似回答