Probleme mit GregorianCalendar-Objekt (war: ich vollidiot)
-
hallo!
ich bekomme aus einer datenbank datum-werte. nehme ich mit substring() auseinander und setze die werte in mein GregorianCalendar-Objekt.
Das Problem ist nur, dass die Tage willkührlich richtig oder falsch gesetzt werden :o
hier mein code:
[java]
GregorianCalendar oEntry_Anfang = new GregorianCalendar();
String sDate_Anfang = oResultSet.getString("entry_anfang");
oEntry_Anfang.set(Calendar.YEAR, new Integer(sDate_Anfang.substring(0,4)).intValue());
oEntry_Anfang.set(Calendar.MONTH, (new Integer(sDate_Anfang.substring(5,7)).intValue())-1);
oEntry_Anfang.set(Calendar.DAY_OF_MONTH, new Integer(sDate_Anfang.substring(8,10)).intValue()); [/code]und hier die ausgabe:
Date String: 2003-04-04 12:00:00 - Day Substring:04 Date GC: 2003-3-5 Date String: 2003-04-12 10:00:00 - Day Substring:12 Date GC: 2003-3-12 Date String: 2003-04-12 11:00:00 - Day Substring:12 Date GC: 2003-3-12 Date String: 2003-04-13 13:00:00 - Day Substring:13 Date GC: 2003-3-14 Date String: 2003-04-14 14:00:00 - Day Substring:14 Date GC: 2003-3-15 Date String: 2003-04-15 15:00:00 - Day Substring:15 Date GC: 2003-3-16 Date String: 2003-04-16 16:00:00 - Day Substring:16 Date GC: 2003-3-17
wär echt klasse wenn sich jemand äussern könnte - ich bin mit meinem latein am ende
vielen dank!
Edit: Bitte sprechende Titel vergeben - Danke!
[ Dieser Beitrag wurde am 13.03.2003 um 15:04 Uhr von CengizS editiert. ]
-
public static void main(String args[]) { String[] dates = {"2003-04-12 11:00:00","2003-04-13 11:00:00","2003-04-14 11:00:00"}; GregorianCalendar oEntry_Anfang = new GregorianCalendar(); for(int a = 0; a < dates.length; a++) { String sDate_Anfang = dates[a]; oEntry_Anfang.set(Calendar.YEAR, new Integer(sDate_Anfang.substring(0,4)).intValue()); oEntry_Anfang.set(Calendar.MONTH, (new Integer(sDate_Anfang.substring(5,7)).intValue())-1); oEntry_Anfang.set(Calendar.DAY_OF_MONTH, new Integer(sDate_Anfang.substring(8,10)).intValue()); SimpleDateFormat format = new SimpleDateFormat(); System.out.println(format.format(oEntry_Anfang.getTime())); } }
Ausgabe:
12.04.03 14:14
13.04.03 14:14
14.04.03 14:14Sieht korrekt aus bei mir. Tut mir leid kann nicht sagen wo bei dir der
Fuchs drinne ist
-
Hmmmm 14:14 sieht nicht sehr korrekt aus. Ihr solltest aus ResultSet die getDate(...)-Methode benutzen. Damit bekommt ihr ein java.sql.Date welches sich einfacher in java.util.Date umwandeln lässt.
-
Original erstellt von CengizS:
Hmmmm 14:14 sieht nicht sehr korrekt aus. Ihr solltest aus ResultSet die getDate(...)-Methode benutzen. Damit bekommt ihr ein java.sql.Date welches sich einfacher in java.util.Date umwandeln lässt.Ihr?
ich nutze bevorzug unix timestamps die brauch ich nur mit
GregorianCalendar.setTimeInMillis(long stamp);
setzen ohne gross zu konvertierenTrotzdem ist der oben genannte fehler: suspekt
-
Aeeh ... doytsche shiprahe shvere shiprahe ... "Ihr solltet ..." hätte das heissen sollen Ein Timestamp wäre natürlich auch die bessere Alternative.
[ Dieser Beitrag wurde am 13.03.2003 um 15:02 Uhr von CengizS editiert. ]