2016-03-29 6 views
0

Я хочу построить дату, основанную в java.util.Date и java.sql.Time, поэтому я закодировать это:Смешивание java.util.date и java.sql.Time в Java

Calendar cal = Calendar.getInstance(); 
cal.setTime(date); 
cal.set(Calendar.HOUR_OF_DAY,time.getHours()); 
cal.set(Calendar.MINUTE,  time.getMinutes()); 
cal.set(Calendar.SECOND,  time.getSeconds()); 

cal.getTime(); 

Это работает, но ime.getHours(), time.getMinutes(), time.getSeconds() отображается как устаревшее, как мы можем сделать это без устаревшего метода ????

+0

'java.sql.Time' имеет дату, так что вам может понадобиться' cal.setTime (time.getTime()) ', предполагая, что ваша дата только что датирована –

+0

Время - это дочерний класс Date. Вы можете напрямую использовать. – sitakant

ответ

0

Взглядами, что вы делаете, я думаю, что это то, что вы хотите:

Calendar mergedCal = Calendar.getInstance(); 
mergedCal.setTime(date); 
Calendar sqlCal = Calendar.getInstance(); 
sqlCal.setTime(time.getTime()); 
mergedCal.set(Calendar.HOUR_OF_DAY, sqlCal.get(Calendar.HOUR_OF_DAY)); 
mergedCal.set(Calendar.MINUTE, sqlCal.get(Calendar.MINUTE)); 
mergedCal.set(Calendar.SECOND, sqlCal.get(Calendar.SECOND)); 
mergedCal.getTime(); 

В конце этого вычисления, mergedCal будет использовать дату от date и время-день от time.

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