日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發(fā)布時間:2025/3/8 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java+timer+退出,java timer 兑现在指定时间执行方法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

java timer 實現(xiàn)在指定時間執(zhí)行方法

最近在弄一個定時發(fā)送的項目,需要定時執(zhí)行方法,于是用到了Timer,但是我想要的功能網(wǎng)絡上的資源比較少,所以自己研究了一下。

下面是我寫的一些代碼

import java.util.Calendar;

import java.util.Date;

import java.util.Timer;

public class TimerTest {

/*

* 定時執(zhí)行方法

*/

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]);//第二的參數(shù)要主要,月是從0開始的,所以要-1.

Date date = calendar.getTime();//網(wǎng)絡上很多都是用Date date = new Date(year, month, date, hrs, min, sec)

// System.out.println(date);

try {

timer.schedule(new NowTask( timer,sssString), date);//可以傳遞參數(shù)進去定時任務類

} catch (Exception e) {

e.printStackTrace();

}

}

/*

* 實現(xiàn)時間字符串轉化為int數(shù)組,便于傳遞參數(shù)

*/

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()

* 執(zhí)行方法

*/

@Override

public void run(){

//這里寫需要定時執(zhí)行的方法

System.out.println(string);

timer.cancel();//傳遞timer進來就是為了在方法執(zhí)行完后退出,必須退出

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

}

}

總結

以上是生活随笔為你收集整理的java+timer+退出,java timer 兑现在指定时间执行方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。