# Funktion zu einer Uhrzeit/datum ausführen



## java66 (19. Jul 2010)

Hallo zusammen,

habe eine frage bei der ich nicht so richtig weiter komme.
Ich habe eine jar auf dem server die im hintergrund läuft.
Nun soll diese anwendung eine Uhrzeit bekommen und zu diesem Datum/uhrzeit eine bestimmte funktion ausführen.
TimerTask und timer sind anscheinend für jobs die fest definiert sind ich brauche aber jobs die dynamisch zu einem bestimmten zeitpunkt datum/uhrzeit ausgeführt wird.
Kann mir jemand da vileicht weiterhelfen.

THX


----------



## hartzie (19. Jul 2010)

Das ist recht einfach.
Die beiden Klassen sind genau das was du brauchst.

Die Timer Klasse kann ein TimerTask zu einer bestimmten Uhrzeit laufen lassen, dazu musst du einfach eine neue Klasse erstellen die von TimerTask erbt und die abstrakten Methode run() implementiert. In die run() kommt das rein was du ausführen möchtest. Willst du nun ein Timer setzten erzeugst du dir ein von Timer und rufst schedule(task, Date) einmal auf. Die task ist dein TaskTimer Objekt was du dir implementiert hast. Date ist ein Datum was ganz einfach aufgebaut ist. Wenn du noch wissen willst was Timer kann einfach in die API reinschauen.

So sollte alles klar sein wenn nicht einfach schreien.

Gruß Dominik


----------



## java66 (19. Jul 2010)

also hab das jetzt so gemacht


```
public static void main(String args[])
	{
		timertaskex tsk=new timertaskex();
		Timer t=new Timer();
		SimpleDateFormat sdf=new SimpleDateFormat("dd.mm.yyyy:hh:mm:ss");
		Date dt=null;
		try {
			dt = sdf.parse("19.07.2010:12:17:00");
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		t.schedule(tsk,dt);
		
	}
```

timertaskex erbt von TimerTask und in der rund steht nur ein sysoutp
aber irgendwie wartet er nicht die zeit ab


----------



## Michael... (19. Jul 2010)

Am schnellsten findet man die Ursachen solcher Problem in dem Variableninhalte auf der Konsole ausgibt und den tatsächlichen Inhalt mit dem erwarteten vergleicht ;-)
Bei der Ausgabe des Datums hättest Du mitbekommen, dass Dein verwendetes Muster bei SDF nicht passt. Verwende doch:

```
SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy:H:mm:ss");
```


----------



## java66 (19. Jul 2010)

:lol:
funzt dummer fehler
danke dir


----------

