Ich ziehe Daten aus einer Oracle-Datenbank. Sie werden in einem Feld java.util.Date festgelegt und sie sind in Wirklichkeit java.sql.Timestamp-Instanzen (was eine Unterklasse von Java.util.Date ist). Wenn ich zwei dieser Zeitstempel aus zwei verschiedenen Datenbanksätzen durch Aufrufen von after() am ersten Datum und Vergleiche mit dem zweiten Datum vergleiche, bekomme ich die falsche Antwort, wenn alle Teile des Datums die gleichen sind, mit Ausnahme der Millisekunden.java.util.Timestamp.after() falsch beim Vergleich von Millisekunden?
Alle folgenden Aussagen sollten in „true“ führen, aber der zweite Satz von Zahlen nicht:
firstDate = 1/1/2000 12:00:20:00
secondDate = 1/1/2000 12:00:10:00
result = firstDate.after(secondDate);
result is TRUE <-- EXPECTED RESULT
firstDate = 1/1/2000 12:00:00:10
secondDate = 1/1/2000 12:00:00:00
result = firstDate.after(secondDate);
result is FALSE <-- NOT EXPECTED, result should be TRUE
Ich weiß nanos getrennt von der Date-Instanz in der Timestamp-Klasse gespeichert ist, und ich bin gespannt, ob Das ist das Problem.
Drucken Termine Simple um dies zu debuggen verwenden. – kgiannakakis
Bitte poste den eigentlichen Code, keinen Pseudocode. Zweitens gibt es kein 'java.util.Timestamp', meinst du' java.sql.Timestamp'? –