Я не могу понять документацию для java.sql.date - PullRequest
3 голосов
/ 10 августа 2011

Я борюсь с проблемой часовых поясов в SQL, jdbc, JVM и Linux.

Я вижу, что класс, который мне нужно передать / получить из jdbc, это java.sql.date.Поэтому я читаю документацию и ничего не могу с ней сделать.

Насколько я понимаю, java.util.Data и java.sql.date содержат несколько миллисекунд с начала эпохи.

Когда я смотрю на определение конструктора для java.sql.date, он говорит:

"Создает объект Date, используя заданное значение времени в миллисекундах. Если данное значение в миллисекундах содержит информацию о времени, драйвер будетустановите компоненты времени на время в часовом поясе по умолчанию (часовом поясе виртуальной машины Java, на которой запущено приложение), который соответствует нулю по Гринвичу. "

OK - вопрос 1 - что может означать"Если данное значение в миллисекундах содержит информацию о времени "- ясно, что оно содержит НЕКОТОРЫЕ данные о времени !!!

Имеют ли они в виду «если количество миллисекунд, которые вы задаете для подпрограммы, не представляет собой точную границу дня, учитывая дополнительные секунды и т. Д.» ??Это звучит довольно случайно, чтобы встретить / не выполнить!

Или они означают, что "ради всего святого, дайте нам что-то около полудня, и мы урежем это до начала рассматриваемого дня?

вопрос 2 - что, на словах, это странное предложение «ЗА» ?? Это явно поведение, предназначенное для того, чтобы заставить некоторые шестерни правильно сцепляться - но какие это шестерни?

Ответы [ 3 ]

6 голосов
/ 10 августа 2011

java.sql.Date, java.sql.Time и java.sql.Timestamp все расширение java.util.Date, однако:

  • java.sql.Date имеет миллисекунды, округленные до полуночи - это датас нулевым временем "
  • java.sql.Time имеет миллисекунды менее 24 часов - это похоже на java.util.Date на 1970-01-01
  • java.sql.Timestamp с полными датой и временем - как обычные java.util.Date
0 голосов
/ 10 августа 2011

java.sql.Date представляет только дату, без информации о времени. java.sql. Время следует использовать для времени.

0 голосов
/ 10 августа 2011

Если бы я был вами, я бы не использовал конструктор миллисекунд. Вместо этого используйте Date.valueOf.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...