Я вытаскиваю даты из базы данных Oracle. Они установлены в поле java.util.Date и в действительности являются экземплярами java.sql.Timestamp (который является подклассом Java.util.Date). Если я сравниваю две из этих временных меток из двух разных записей базы данных, вызывая after () для первой даты, и сравниваю ее со второй, я получаю неправильный ответ, когда все части даты совпадают, за исключением миллисекунд.
Все перечисленное ниже должно приводить к значению «истина», однако второй набор чисел - нет:
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
Я знаю, что нано хранятся отдельно от экземпляра Date в классе Timestamp, и мне интересно, если это проблема.