Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/11/2010, 16:19
trigger_bengali
 
Fecha de Ingreso: enero-2008
Mensajes: 15
Antigüedad: 16 años, 3 meses
Puntos: 0
Guarda una Hora 12:00:00 AM con JAVA EN BD ORACLE

Eso, tengo una clase que guarda la fecha según su zona horaria. Pero, la hora se guarda 12:00:00 AM. Acá la clase. Utilizo Oracle 9.

Código:
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.TimeZone;



public class DateUtil {

	public static Date getDateInTimeZone(Date currentDate, String timeZone)
	{
		TimeZone tz = TimeZone.getTimeZone(timeZone);
		Calendar mbCal= new GregorianCalendar(TimeZone.getTimeZone(timeZone));
		mbCal.setTimeInMillis(currentDate.getTime());
		
		
		
		Calendar cal = Calendar.getInstance();
		cal.set(Calendar.YEAR, mbCal.get(Calendar.YEAR));
		cal.set(Calendar.MONTH, mbCal.get(Calendar.MONTH));
		cal.set(Calendar.DAY_OF_MONTH, mbCal.get(Calendar.DAY_OF_MONTH));
		cal.set(Calendar.HOUR_OF_DAY, mbCal.get(Calendar.HOUR_OF_DAY));
		cal.set(Calendar.MINUTE, mbCal.get(Calendar.MINUTE));
		cal.set(Calendar.SECOND, mbCal.get(Calendar.SECOND));
		//cal.set(Calendar.MILLISECOND, mbCal.get(Calendar.MILLISECOND));

		return cal.getTime();
	
	}
	
	@SuppressWarnings("static-access")
	public Date getDate() {	
		
		Date now = new Date();
		String timeZone = UtilsProperty.getInstance().getStringPropertyByName("configuracion.zonahoraria");
		//Date pf = Calendar.getInstance(TimeZone.getTimeZone(timeZone)).getTime();			
		//return pf;
		return getDateInTimeZone(now, timeZone);
		
		
				
	}

	
}
Este es el action donde se guarda todos los datos.

Código:
public String doActualizaDocumento(){		
		Long cDocumento = Util.getLong(request.getParameter("cDocumento"), 0L);
		try {
			Documento documento = manager.getDocumento(cDocumento);					
			documento.setaNombreDocumento(Util.getString(request.getParameter("aNombreDocumento"), ""));
			documento.setaDescripcionDocumento(Util.getString(request.getParameter("aDescripcionDocumento"), ""));
			documento.setEstado(new Estado(Util.getBigDecimal(request.getParameter("cEstado"), new BigDecimal(0))));
			documento.setdFechaModificacion(dateUtil.getDate());//corregir con fecha y hora del servidor segun pais		
			if(manager.editDocumento(documento)){
				this.setMensaje(MensajeUtil.setMensaje(MensajeUtil.TipoMensaje.SUCCESS, "Se actualizo el documento exitosamente"));
			}else{
				this.setMensaje(MensajeUtil.setMensaje(MensajeUtil.TipoMensaje.ERROR, "Se produjo un error al actualizar el documento"));				
			}
			this.setDocumento(documento);
			this.setEstados(cargaDatosHelper.getEstados(false));
		} catch (Exception e) {
			this.setMensaje(MensajeUtil.setMensaje(MensajeUtil.TipoMensaje.ERROR, "Se produjo un error al actualizar el documento"));
			logger.error("Error al editar el documento ", e);
		}
		return SUCCESS;
	}
Cabe destacar que el configuracion.zonahoraria lo obtiene de un archivo. properties, donde especifico la zona horaria a utilizar. Ya pude guardar la fecha pero no la hora. Alguien podría darme una ayuda.