java timer 实现在指定时间执行方法

最近在弄一个定时发送的项目,需要定时执行方法,于是用到了Timer,但是我想要的功能网络上的资源比较少,所以自己研究了一下。

下面是我写的一些代码

import java.util.Calendar;

import java.util.Date;

import java.util.Timer;

public class TimerTest {

/*

* 定时执行方法

*/

public void Timing(String sssString , int[] dateTime){

Timer timer = new Timer();

Calendar calendar = Calendar.getInstance();

calendar.set(dateTime[0], dateTime[1]-1, dateTime[2], dateTime[3], dateTime[4], dateTime[5]);//第二的参数要主要,月是从0开始的,所以要-1.

Date date = calendar.getTime();//网络上很多都是用Date date = new Date(year, month, date, hrs, min, sec)

// System.out.println(date);

try {

timer.schedule(new NowTask( timer,sssString), date);//可以传递参数进去定时任务类

} catch (Exception e) {

e.printStackTrace();

}

}

/*

* 实现时间字符串转化为int数组,便于传递参数

*/

public int[] String2Int(String timeString){

String year = timeString.substring(0, 4);

String month = timeString.substring(5, 7);

String date = timeString.substring(8, 10);

String hour =timeString.substring(11, 13);

String min = timeString.substring(14, 16);

String sec = timeString.substring(17,19);

int[] time = new int [6];

String[] timeStrings = new String[]{year,month,date,hour,min,sec};

for (int i = 0; i < timeStrings.length; i++) {

time[i]=Integer.valueOf(timeStrings[i]);

}

return time;

}

public static void main(String[] args) {

TimerTest timerTest = new TimerTest();

String timeString ="2012/04/11 16:46:00";

timerTest.Timing("成功了", timerTest.String2Int(timeString));

}

}

然后是NowTask类

import java.util.Timer;

import java.util.TimerTask;

public class NowTask extends TimerTask{

private Timer timer;

private String string;

/*

* 构造器

*/

public NowTask(){

}

public NowTask(String string){

this.string = string;

}

public NowTask(Timer timer){

this.timer =timer;

}

public NowTask(Timer timer , String string){

this.timer = timer;

this.string =string;

}

//属性的get、set方法

public Timer getTimer() {

return timer;

}

public void setTimer(Timer timer) {

this.timer = timer;

}

public String getString() {

return string;

}

public void setString(String string) {

this.string = string;

}

/*

* (non-Javadoc)

* @see java.util.TimerTask#run()

* 执行方法

*/

@Override

public void run(){

//这里写需要定时执行的方法

System.out.println(string);

timer.cancel();//传递timer进来就是为了在方法执行完后退出,必须退出

System.out.println("结束");

}

}

java+timer+退出,java timer 兑现在指定时间执行方法相关推荐

  1. java每隔1分钟执行一次_启动系统定时器,每隔1分钟/指定时间执行任务 学习笔记...

    import java.util.Calendar; import java.util.Date; import java.util.Timer; import java.util.TimerTask ...

  2. java 调度任务_Java Quartz 任务指定时间执行,任务调度框架

    quartz,spring-quartz,spring-task,spring-schedule四者的区别: quartz 是一个调度器,可以放任务进去,对任务指定时间执行. spring-quart ...

  3. 分布式定时任务原理以及解决方案-指定时间执行定时任务

    分布式定时任务原理以及实现 一.单机指定时间执行定时任务实现方式 Timer运行机制 ScheduledThreadPoolExecutor的运行机制 原理图 Leader/Follower模式 Ti ...

  4. sql语句延时执行或者是指定时间执行

    --使用waitfor语句延迟或暂停程序的执行 --waitfor{delay'time'|time 'time'} delay是指间隔时间 最长到24小时 time是指定时间执行 waitfor d ...

  5. linux中用at命令5分钟后执行,我使用过的Linux命令之at - 在指定时间执行一次任务...

    我使用过的Linux命令之at - 在指定时间执行一次任务 用途说明 at命令用于在指定时间执行一次任务.如果任务需要重复执行,需用crontab. atq用于打印队列中的任务,atrm用于删除任务. ...

  6. java定时执行一次_java Timer(定时调用、实现固定时间执行)

    最近需要用到定时调用的功能.可以通过java的Timer类来进行定时调用,下面是有关Timer的一些相关知识. 其实就Timer来讲就是一个调度器,而TimerTask呢只是一个实现了run方法的一个 ...

  7. java Timer(定时调用、实现固定时间执行)

    最近需要用到定时调用的功能.可以通过java的Timer类来进行定时调用,下面是有关Timer的一些相关知识. 其实就Timer来讲就是一个调度器,而TimerTask呢只是一个实现了run方法的一个 ...

  8. Java指定时间执行任务

    Timer和TimerTask 有如下好处: 1.当启动和取消任务时可以控制 2.第一次执行任务时可以指定你想要的delay时间 在实现时,Timer类可以调度任务,TimerTask则是通过在run ...

  9. java定时发送短信_java实现指定时间触发一个事件(比如定时发送短信) | 学步园...

    package com.huawei.dm.datasource.system; import java.util.Calendar; import java.util.Date; import ja ...

最新文章

  1. bazel、tensorflow_serving、opencv编译问题
  2. IDC公布2017年亚太地区数据中心10大预测
  3. 文巾解题 372. 超级次方
  4. python 图像像素的坐标系方向, PIL库中Image.getpixel()方法, 相机标定之四个坐标系及其关系
  5. Michael-Scott非阻塞队列(lock-free)算法的C实现
  6. ruby,rails环境架设配置 转载一文章.
  7. nginx服务器的配置
  8. 技术需求趋势报告:移动、社会化、电子商务最热
  9. C++ 用遗传算法解决TSP问题,旅行商问题
  10. java垃圾回收理解与算法
  11. ERP系统健康体检的三大指标
  12. win10系统dnf安装不上服务器失败,win10系统玩dnf图表系统组建失败怎么修复
  13. thinkpad T500开机大于10分钟,黑屏
  14. Linux查看最近开关机记录
  15. 矩阵求导术(二)——矩阵对矩阵的求导
  16. u盘制作启动盘后容量变小
  17. 几个著名的心理学实验
  18. 【格言精选】影视剧情大俗套——你注意到多少
  19. web 前端判断身份证号码是否有效
  20. UML中各图形或图标表示的意思

热门文章

  1. Cloud一分钟 | 加码云计算!IBM斥340亿美元收购Red Hat
  2. js实现shallowReactive和reactive
  3. php设置url,php 设置 url
  4. java 租车管理系统_jsp+servlet+jdbc实现的java web共享租车信息管理系统,包括登陆注册,页面框架Easy UI...
  5. Oracle 创建表空间、用户、权限_(plsql)
  6. 1273 - Unknown collation: 'utf8mb4_0900_ai_ci'
  7. MySQL启动出现The server quit without updating PID file错误解决办法
  8. 实战_23_高可用负载均衡集群的实现(Mycat+ZK +HAProxy + Keepalived)
  9. JavaScript-操作DOM对象-删除dom节点
  10. 计算机对环境的影响的案例,计算机环境下的呈现方式对学生样例学习的影响