Zeit zum bestimmten Datum in millisekunden berechnen

Evilsadness

Mitglied
Hayy..
wie kann ich die Zeit zu einem bestimmten Datum in millieskunden berechnen? Auf das Jahr soll es nicht ankommen. Zum Beispiel für den nächsten 20. Februar.

Danke schon mal!
 
Ich rate immer, sich auf die neue Java-Date-API in Java-8 vorzubereiten und da ist Joda-Time eine gute Wahl.
Deine Rechnung gehen damit sehr einfach:
Java:
	DateTimeFormatter dateTimeFormatter = DateTimeFormat.forPattern("dd.MM");
	DateTime beginn = DateTime.parse("19.02", dateTimeFormatter);
	DateTime ende = DateTime.parse("20.02", dateTimeFormatter);
	System.out.println(new Duration(beginn, ende).getMillis());
       //86400000
 
Java-Joda klappr schonmal sehr gut! Jedoch habe ich das problem, dass wenn die Tage zuweit auseinander sind, dass der Wert plötzlich im Minus ist. Nach long casten klappt auch nicht.

Vielleicht habt ihr ja eine andere Idee für mein Programm.

Ich benutze JavaMail um über mein Programm Email zuschreiben.
Das klappt auch alles gut. Nun wil ich aber eine "RückmeldungsErinnerung" schreiben, dass die Mail jeweils entweder zum 30.01 oder zum 30.09 eine Erinnerungsmail schreibt.

Ich habe mir das mit einem Timertask vorgestellt. Er soll am Anfang berechnen, welcher Tag nähe dran ist und soll solange "schlafen" und dann eine Methode ausführen:

Java:
		TimerTask action = new TimerTask() {
			
			public void run() {
				try {
					mailVersenden("Es ist wieder soweit!"
							+ "Rückmeldungsfrist beachten!",
							"marcelxxxxxx@xxxxxx.de");
				} catch (AddressException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				} catch (NoSuchProviderException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				} catch (MessagingException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}

		};

		Timer caretaker = new Timer();
		caretaker.schedule(action, HIER DIE ZEIT);
 
Java-Joda klappr schonmal sehr gut! Jedoch habe ich das problem, dass wenn die Tage zuweit auseinander sind, dass der Wert plötzlich im Minus ist.
Das liegt vielleicht daran das Zeitpunkt-1 NACH Zaitpunkt-2 liegt?
Java:
	DateTimeFormatter dateTimeFormatter = DateTimeFormat.forPattern("dd.MM");
	DateTime beginn = DateTime.parse("19.07", dateTimeFormatter);
	DateTime ende = DateTime.parse("20.02", dateTimeFormatter);
	System.out.println(new Duration(beginn, ende).getMillis());
	//-12956400000
    }
 

Neue Themen


Zurück
Oben