Java.sql.date

passo a seguinte data 2005-07-07 14:09:39.0 no formato string tranformo chamo o metodo abaixo mas ele so me retorna a parte da data nao retornando a hora.

ja tentei de tudo e nao consigo captura a hora

	public static java.sql.Date StrtoDBDateTime(String strDate)
	throws NullPointerException, ParseException {
		if (strDate == null) {
			return null;
		} else {
			java.sql.Date parsedDate = null;
			SimpleDateFormat formatter = new SimpleDateFormat(
			"yyyy-MM-dd HH:mm:ss.S");
			parsedDate = new java.sql.Date(formatter.parse(strDate)
					.getTime());
			return parsedDate;
		}
	}

Quem não retorna o que?

Aqui funcionou normalmente, tente fazer
System.out.println( parsedDate.toGMTString() );
e confira que as horas/minutos/segundos estão lá.

dicas:

  • métodos devem começar com letra minúscula
  • notação húngara é coisa de húngaro hehe

Solução eu não tenho, mas uma dica: procure por java.sql.Date java.util.Date (as duas ao mesmo tempo) no Google. Aparece uns resultados com umas sugestões bem legais.

Também tive esse problema recentemente, mas como a hora não era muito importante pra mim, desprezei. :?

Trabalhe com java.util.Date

Existem diferenças entre java.sql.Date e java.util.Date:

java.util.Date: “A classe java.util.Date representa um instante específico no tempo, com precisão em milisegundos” [Java API]

java.sql.Date: representa uma Data (sem hora) compatível com formato ANSI SQL. (Por isso fica no pacote java.sql)

Dê uma olhada na documentação e veja q todos os métodos de hora q java.sql.Date oferece estão deprecated. Ela não trabalha com hora.

[]'s