2013-07-26 4 views

ответ

1

Функция SYSDATE дает дату и время сервера базы данных. java.sql.Date не дает никакой конкретной даты - она ​​должна быть инициализирована на определенную дату, и она хранит только дату, а не время. (Внутренне он делает хранить компонент времени, а также, но это бессмысленно, и вы должны игнорировать его.) Если вы создаете java.sql.Date объект с

date = new java.sql.Date(System.getCurrentTimeMillis()); 

или что-то эквивалентное и ваша база данных работает на другой машине , вы можете получить другую дату, когда вы вызываете SYSDATE, если часы на двух машинах не синхронизированы.

1

Вы выполните команду sysdate в системе БД. Он дает системную дату сервера БД.

java.sql.DateТонкая обертка вокруг значения миллисекунды, которая позволяет JDBC идентифицировать это как значение DATE SQL. Это другое, это объект Java, который взаимодействует с датой sql. Драйвер JDBC будет использовать объект java.sql.Date и форматировать его данные в приемлемом формате, сохраняя его в БД и наоборот.

Сам по себе он не может дать нам дату, пока вы не будете кормить ее некоторыми данными, и она хранит годы, месяцы и дни, в то время как часы, минута, секунда и миллисекунда игнорируются.

0
SELECT SYSDATE(); 

Выход: 2013/07/26 04:16:55

По умолчанию Формат: гггг-мм-дд чч: мм: сс

Date a=new Date(); 
java.sql.Date d=new java.sql.Date(a.getTime()); 
System.out.println(d); 

Выход: 2013/07/26

Формат по умолчанию: yyyy-MM-dd

Смежные вопросы