powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / И ещё про даты.
16 сообщений из 16, страница 1 из 1
И ещё про даты.
    #33863233
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В БД (Оракл) хранится дата. Оракловый тайп DATE. Я его соответственно получаю методом getDate РезалтСета. Хочу сравнить с другой датой. Она в виде текста.
Делаю так:
Код: plaintext
1.
2.
3.
SimpleDateFormat dateParser =  new  SimpleDateFormat("dd.MM.yyyy hh:mm:ss");
String txtValue = "2006.07.19 10:42:11";
 if  (rSet.getDate(colName).equals(dateParser.parse(txtValue))){  do  somthing}
В БД значение 19.07.2006 10:42:11

do somthing не делается. Достоверно установлено, что даты ява считает разными.

Как бы мне сравнить их по нормальному?
...
Рейтинг: 0 / 0
И ещё про даты.
    #33863248
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
getTimestamp()
вместо
Код: plaintext
getDate()
...
Рейтинг: 0 / 0
И ещё про даты.
    #33863408
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не помогло.

Получение из базы дало 2006-07-19, парсинг текста Tue Dec 26 10:42:11 MSK 0024.

Текст - тоже самое, что есть в базе, но полученное другой программой. В данном случае TOADом.
...
Рейтинг: 0 / 0
И ещё про даты.
    #33863437
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сори. Строка с датой выведена не таймстампом.

Похоже ему просто календарь требуется.
...
Рейтинг: 0 / 0
И ещё про даты.
    #33863513
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ура! Победил! Приведение типов решает!
...
Рейтинг: 0 / 0
И ещё про даты.
    #33863520
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет. Не победил:(
...
Рейтинг: 0 / 0
И ещё про даты.
    #33863595
Michael Ponomarev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
метод getDate возвращает не java.util.Date, а java.sql.Date

есть java.sql.Date.toString() возвращает в формате yyyy-mm-dd и именно в таком.

у java.sql.Date есть compareTo, правда я не пробовал
и есть getTime() типа long
т.е
Код: plaintext
1.
  java.util.Date d =  new  Date(rSet.getDate(colName).getTime);
...
Рейтинг: 0 / 0
И ещё про даты.
    #33863632
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сарин. Не парь мозг. Приводи полный тест кейс.
...
Рейтинг: 0 / 0
И ещё про даты.
    #33863672
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Michael Ponomarevметод getDate возвращает не java.util.Date, а java.sql.Date

есть java.sql.Date.toString() возвращает в формате yyyy-mm-dd и именно в таком.

у java.sql.Date есть compareTo, правда я не пробовал
и есть getTime() типа long
т.е
Код: plaintext
1.
  java.util.Date d =  new  Date(rSet.getDate(colName).getTime);

для прояснения...

1. java.sql.Date extends java.util.Date.
compareTo находится в java.util.Date и использует getTime()
2. java.sql.Date хранит только DD MM YYYY. Остальные поля нули.
...
Рейтинг: 0 / 0
И ещё про даты.
    #33863726
Michael Ponomarev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соответственно если нужна только дата, то и в Oracle можно выбрать
to_date(dateclolumn, 'dd.mm.yyyy'), например, или to_date(dateclolumn, 'yyyy-mm-dd')
...
Рейтинг: 0 / 0
И ещё про даты.
    #33863743
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Michael PonomarevСоответственно если нужна только дата, то и в Oracle можно выбрать
to_date(dateclolumn, 'dd.mm.yyyy'), например, или to_date(dateclolumn, 'yyyy-mm-dd')
можно. только to_char надо.
...
Рейтинг: 0 / 0
И ещё про даты.
    #33863772
Michael Ponomarev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
угу точно, to_char, с необходимым форматом.
или опять же to_date(datecolumn), если время не нужно
...
Рейтинг: 0 / 0
И ещё про даты.
    #33864188
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поля выбираются все. SELECT *

В общем я победил. Отформатировал сначала в дату, а потом в строку:)
...
Рейтинг: 0 / 0
И ещё про даты.
    #33871581
maddcast
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нормальные люди приводят даты к целым числам, а не строкам.
...
Рейтинг: 0 / 0
И ещё про даты.
    #33871873
Фотография pamir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Michael Ponomarevугу точно, to_char, с необходимым форматом.
или опять же to_date(datecolumn), если время не нужно
to_date(datecolumn) не сработает (на память пишу, но уверен на 99%). Она строку ожидает, а не дату. Если не нужно время, в оракле есть trunc().
...
Рейтинг: 0 / 0
И ещё про даты.
    #33872866
Michael Ponomarev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pamir Michael Ponomarevугу точно, to_char, с необходимым форматом.
или опять же to_date(datecolumn), если время не нужно
to_date(datecolumn) не сработает (на память пишу, но уверен на 99%). Она строку ожидает, а не дату. Если не нужно время, в оракле есть trunc().
Виноват. Действительно.
Do not use the TO_DATE function with a DATE value for the char argument. The first two digits of the returned DATE value can differ from the original char, depending on fmt or the default date format.

И чего меня на нее пробило.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / И ещё про даты.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]