Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Получить текущее время, Java
цитата
19/04/10 в 20:55
 freeek
дату надо записать в базу

Код:
new Date(Calendar.getInstance().getTimeInMillis())


в результате пишется в базу что то типа 19-04-2010 00:00:00
а мне надо чтоб с часами, минутами и секундами

как то накануне делал через форматирование, щас в упор не могу вспомнить, гугл молчит
цитата
19/04/10 в 23:38
 freeek
я так понял, в Java нельзя записать полноценно дату в базу (mssql) через setDate

используется хранимая процедура, поле типа datetime

java.sql.Date возвращает едиственный формат yyyy-mm-dd
поэтому запись в базу идет в виде 2010-04-20 00:00:00

обмануть это гавно можно используя setString(String "yyyy-mm-dd hh:mm:ss") для prepareCall, prepareStatement, но имхо это как то через жопу

едиственное, передать дату в другом формате в хранимую процедуру, а там конвертировать в полноценную дату
цитата
20/04/10 в 00:09
 Sterx
timestamp всегда и везде стараюсь юзать
меня всегда поражало, как люди извращаются с форматами вбивая в БД всякую шнягу.
цитата
20/04/10 в 00:32
 freeek
имеешь ввиду mssql'ный?
цитата
20/04/10 в 01:22
 Sterx
я имею ввиду unix timestamp
цитата
20/04/10 в 17:01
 Dr.Syshalt
freeek писал:

в результате пишется в базу что то типа 19-04-2010 00:00:00
а мне надо чтоб с часами, минутами и секундами


Ну а как ты байндишь-то данные с колонкой? Вообще через что пишешь? JDBC, Hibernate, JPA?

Код показывай, этот кусок, в общем. Скорее всего - байндишь как дату, я угадал? setDate()?
цитата
20/04/10 в 18:13
 freeek
jdbc

вообщем покапался в api

jdbc и setDate принимает только java.sql.Date

а java.sql.Date отдает даду только в формате yyyy-MM-dd
и если передать любой другой формат, jdbc выкидывает исключение

там где было не критично оставтил так, там где нужно более точное время, отдал через setString форматированную строку, в самой процедуре делаю конверт, и так же обратно. все работает
цитата
20/04/10 в 18:52
 Dr.Syshalt
Класс java.sql.Timestamp

и

PreparedStatement.setTimestamp()
цитата
21/04/10 в 13:36
 freeek
ok, попробуем


Эта страница в полной версии