Sami Sami - 8 months ago 40
Java Question

How to call a method on specific time in java?

Is it possible to call a method in java at specific time? For examplef I have a piece of code like this:

class Test{
// parameters

public static void main(String args[]) {
// here i want to call foo at : 2012-07-06 13:05:45 for instance

How this can be done in java?


Using a java.util.Timer class you can create a timer and schedule it to run at specific time.

Below is the example:

//The task which you want to execute
private static class MyTimeTask extends TimerTask

    public void run()
        //write your code here

public static void main(String[] args) {

    //the Date and time at which you want to execute
    DateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Date date = dateFormatter .parse("2012-07-06 13:05:45");

    //Now create the time and schedule it
    Timer timer = new Timer();

    //Use this if you want to execute it once
    timer.schedule(new MyTimeTask(), date);

    //Use this if you want to execute it repeatedly
    //int period = 10000;//10secs
    //timer.schedule(new MyTimeTask(), date, period );