Ok, ich verwende bereits java.util.Date, konnte aber immer nur das Datum setzen, nicht aber die Zeit.Date (Java Platform SE 6) - damit gearbeitet werden kann über GregorianCalendar (Java Platform SE 6)
timestamp = Date.valueOf("2010-08-15"); // geht
timestamp = Date.valueOf("2010-08-15 12:05:15.123"); // :(
timestamp.getHours(); // wird als veraltet angezeigt
DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS");
Date date = df.parse("2010-08-15 12:05:15.123");
Calendar cal = new GregorianCalendar();
cal.setTime(date);
System.out.println(cal.get(Calendar.HOUR_OF_DAY));
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
System.out.println(df.format(new Date()));
cal.get(Calendar.MONTH)
Ein Blick in die Dokumentation offenbart, dass der von Calendar.get( Calendar.MONTH) gelieferte Wert nullbasiert ist; 7 ist also der August. Probier doch malNun ist es aber so, dass ich zwar Stunden, Minuten, Sekunden, Tag und Jahr einwandfrei aus dem Datum ermitteln kann, aber beim Monat liefert mirstets den Juli (also 7), nicht aber den August, welchen ich eigentlich angegeben habe ("2010-08-15 12:05:15.123").Java:cal.get(Calendar.MONTH)
Woran kann das liegen???
System.out.println( cal.get(Calendar.MONTH) == Calendar.AUGUST);
Ok, dass klärt die ganze Sache.Ein Blick in die Dokumentation offenbart, dass der von Calendar.get( Calendar.MONTH) gelieferte Wert nullbasiert ist; 7 ist also der August.
Ich glaube dir.Probier doch mal
Java:System.out.println( cal.get(Calendar.MONTH) == Calendar.AUGUST);
if(datetime1.toDate() != datetime2.toDate())
LocalTime - An immutable implementation that represents a time without a date or time zone. * LocalDate - An immutable implementation that represents a date without a time or time zone.
* LocalTime - An immutable implementation that represents a time without a date or time zone.
* LocalDateTime - An immutable implementation that represents a datetime without a time zone.
* Partial - An immutable implementation that can store any combination of datetime fields. For example, using this class you could create a YearMonth or DayOfWeekDayOfMonth partial.
* YearMonthDay - Effectively deprecated - only supports the year, monthOfYear and dayOfMonth fields.
* TimeOfDay - Effectively deprecated - only supports the hour, minute, second and millisecond fields.
Ok, dass war nur zur Veranschaulichung.mit != schon mal garnicht
Exception in thread "main" java.lang.IllegalArgumentException:
Cannot parse "2010-3-28T2:0:21": Illegal instant due to time zone offset transition (Europe/Berlin)
Sicher? Verwechselst du es nicht zufällig mitIn anderen Programmiersprachen ist dies übrigens möglich - in VB wird das Datum z. B. als Fließkommazahl gespeichert: Vorkammawert=Tage seit 1900, Nachkommawert=Uhrzeit. Damit kann man dann ganz einfach >, < und != verwenden. Eigentlich eine recht sinnvolle Festlegung, wie ich finde.
CDbl
Ja, bin mir ziemlich sicher. Mit +1 kann man z. B. auch das Datum um einen Tag erhöhen.Sicher? Verwechselst du es nicht zufällig mitFunktion? Und nur, weil man > und < machen kann, heißt es nicht, dass man es als Zahl gespeichert hält.Code:CDbl
Gibt es dafür eine Methode, um solche Fehler sinnvoll abzufangen?
Ja, dass ist aber nur eine Notlösung, weil damit der bedreffende Datensatz verloren geht.lange rede kurzer sinn:
try/catch zum abfangen.
Nein, ich glaube nicht.Die eigentliche Frage ist aber, warum hast du diesen Datensatz in der DB? Arbeiten beide Systeme mit einer anderen Zeitzone?
Dies ist aber irgendwie nicht möglich...
Nicht wirklich. - Nur folgende Meldung:"irgendwie" :shock:
Lässt sich das auch präzisieren ???:L
The type MyDate cannot subclass the final class DateTime.
Nicht wirklich. - Nur folgende Meldung:
Das ist alles...Code:The type MyDate cannot subclass the final class DateTime
This is done for reasons of security and efficiency