Меня иногда путают разные типы Date в java и их практическое использование. Вот я пытаюсь обобщить свое понимание
java.sql.Date :-
Тонкая обертка вокруг значения миллисекунды, которая позволяет JDBC идентифицировать это как значение DATE SQL
java.sql.Timestamp :-
Тонкая оболочка вокруг java.util.Date, которая позволяет API JDBC идентифицировать это как SQL
Значение TIMESTAMP. Он добавляет возможность удерживать значение дробной секунды SQL TIMESTAMP, разрешая спецификацию
дробных секунд до точности наносекунд
Я видел, что большинство проектов предпочитают Timestamp вместо даты. Я думаю, что основной причиной этого является то, что Timestamp может удерживать значение до точность nano секунд, тогда как данные могут сохраняться до миллисекунды. Правильно?
Calendar :-
Этот класс предназначен для обработки даты, например: - для преобразования между конкретным моментом времени и
набор полей календаря, таких как YEAR, MONTH, DAY_OF_MONTH, HOUR и т.д., а также для манипулирования полями календаря, такими как получение
дата следующей недели. Хотя я не знаю, почему этот класс является абстрактным, когда существует только одна реализация. i.e GregorianCalendar.