Date zu Calendar + Zeitspanne addieren
lima-city → Forum → Programmiersprachen → Java
after
code
date
erreichen
gesetzt date
hilfe
import
jahr
methode
problem
set
sinn
system
tag
tun
veralteten code
verschiebung
versuch
zeitraum
zug
-
Hey,
ich benötige mal eure tag/hilfe">hilfe unzwar folgendes, ich bekomme ein Date Objekt und möchte herausfinden ob der Zeitraum zwischen heute und dem date kleine als 7 ist.
public void methode(Date date) { //Jetzt GregorianCalendar now = new GregorianCalendar(); GregorianCalendar givenDate = new GregorianCalendar(); // Setzt given Date auf date givenDate.setTime(date); // heute in 7 Tagen now.add(now.DAY_OF_MONTH, 7); if(givenDate.after(now)) .... ... } methode(new Date(2011, 1, 1));
Es scheint aber falsch zu sein, da egal was ich ich eingebe immer after ist.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Moin,
Du verwendest veralteten Code.
Versuch's mal hiermit:
import java.util.GregorianCalendar; public class GregorianCheck { public static void main(String[] args) { GregorianCalendar now = new GregorianCalendar(); System.out.println("Aktuell: " + now.getTime()); GregorianCalendar date = new GregorianCalendar(); date.add(GregorianCalendar.DAY_OF_MONTH, -7); date.add(GregorianCalendar.HOUR_OF_DAY, -5); System.out.println("Gesetzt: " + date.getTime()); now.add(GregorianCalendar.DAY_OF_MONTH, -7); System.out.println("7 Tage: " + now.getTime()); if (date.before(now)) { System.out.println("Datum ist länger her als 7 Tage."); } } }
Gruß,
Pawnee -
Man kann das Problem auch so lösen:
givenDate.set(date); //givenDate.get(1) liefert das jahr zurück ... //Man könnte wahrscheinlich auch Calendar.YEAR schreiben. givenDate.set(1, (givenDate.get(1)-1900));
dann funktionierts auch :D
Beitrag zuletzt geändert: 11.4.2011 13:53:28 von myhead -
Moin,
"Man könnte wahrscheinlich auch Calendar.YEAR schreiben." trifft es nicht ganz. Es liegt im Zuge einer guten stilistisch und pragmatisch aussehenden Programmierung, dass man Konstanten verwendet, die aus der API stammen.
Was hat Dein Code jetzt mit den 7 Tagen Verschiebung zu tun, die Du erreichen wolltest?
Irgendwie geht mir da der Sinn nicht auf.
Gruß,
Pawnee -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage