Я извлекаю дату и время из базы данных. Они хранятся в отдельных полях, но я хотел бы объединить их в объект java.util.Date, который соответствующим образом отражает дату / время.
Вот мой оригинальный подход, но он ошибочен. Я всегда получаю дату / время на 6 часов меньше, чем должно быть. Я думаю, это потому, что время имеет смещение часового пояса, а также дату, и мне действительно нужен только один из них, чтобы сместить часовой пояс.
Любые предложения о том, как сделать это, чтобы он дал мне правильную дату / время?
import java.sql.Time;
import java.util.Calendar;
import java.util.Date;
import org.apache.commons.lang.time.DateUtils;
public static Date combineDateTime(Date date, Time time)
{
if (date == null)
return null;
Date newDate = DateUtils.truncate(date, Calendar.DATE);
if (time != null)
{
Date t = new Date(time.getTime());
newDate = new Date(newDate.getTime() + t.getTime());
}
return newDate;
}