Pessoal muito bom dia!
Eu estou com um problema pra configurar uma data.
caso:
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String data = df.format(hist.getDataHoraTransmissao().toString()); //aqui eu converto o objeto para string. nesta linha já apresenta erro.
Date dataHrTrans = DateHelper.parseDate("yyyy-MM-dd HH:mm:ss", data); //a classe DateHelper tem o método parseDate que converte tipo String para Date
hist.setDataHoraTransmissao(dataHrTrans); //seto o valor de DataHoraTransmissao com a nova máscara
getDataHoraTransmissao() me retorna uma data com essa máscara “2008-02-02 10:05:02.0”. Eu n preciso dos milisegundos e não estou conseguindo modificar isso.
Método parseDate
public static Date parseDate(String pattern, String value) throws ParseException {
SimpleDateFormat formatter = new SimpleDateFormat(pattern);
return (value == null) ? null : formatter.parse(value);
}
Desde já obrigado! :lol:
Eu faço isto, veja se te ajuda
[code]
public static String convertddMMyyyy_HHmmss(Date date) {
return convertDate(“dd/MM/yyyy - HH:mm:ss”, date);
}
public static String convertDate(String format, Date dtConsulta) {
try {
SimpleDateFormat formatter = new SimpleDateFormat(format, new Locale(“pt”, “BR”));
return formatter.format(dtConsulta);
} catch (Exception e) {
return null;
}
}[/code]
Leia direito o javadoc de SimpleDateFormat. Lá ele especifica que o formato para os milissegundos é “S” maiúsculo (não “s” minúsculo, que é para segundos).
Ou seja, algo como:
“yyyy-MM-dd HH:mm:ss.SSS”
Talvez você tenha de completar com 2 zeros à direita, antes de efetuar o “parse”. Não testei aqui para ver se é esse o problema.
thingol bom dia,
cara acho q n entendi eu modofiquei meu código
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS"); //acrescentei os milisegundos na máscara "SS"
Date teste = hist.getDataHoraTransmissao(); // pego o objeto
String data = df.format(teste); //aqui eu converto o objeto para string. Nessa linha data já tem a mascara correta
Date dataHrTrans = df.parse(data); // Nessa linha ocorre o cast para data ,so que a mascara n é passada tb.
hist.setDataHoraTransmissao(dataHrTrans);
Ta me retornando essa máscara “Sat Feb 02 08:58:02 GMT-03:00 2008”.
pq?
Vlwss! :lol:
[quote=avsouza]Eu faço isto, veja se te ajuda
[code]
public static String convertddMMyyyy_HHmmss(Date date) {
return convertDate(“dd/MM/yyyy - HH:mm:ss”, date);
}
public static String convertDate(String format, Date dtConsulta) {
try {
SimpleDateFormat formatter = new SimpleDateFormat(format, new Locale(“pt”, “BR”));
return formatter.format(dtConsulta);
} catch (Exception e) {
return null;
}
}[/code][/quote]
Esse metodo q o avsouza usou, nao ti ajudou?
Estava com problema parecido e aqi funfou 
[]'s
Pois é cara, só q eu já tenho meu método implementado e funcionando, até agora! hehehe. E eu queria ver onde está o erro. Na verdade o meu método faz o mesmo, pelo menos penso isso. Por isso estou pedindo ajuda de vcs, pare resolver esse erro.
Meu método:
public static Date parseDate(String pattern, String value) throws ParseException {
SimpleDateFormat formatter = new SimpleDateFormat(pattern);
return (value == null) ? null : formatter.parse(value);
}
Estou fazendo assim:
Date teste = hist.getDataHoraTransmissao();
String data = df.format(teste);
Date dataHrTrans = DateHelper.parseDate("yyyy-MM-dd HH:mm:ss", data);
//recebo como parâmetro a mascara e data
a questão é pq eu recebo como retorno “Sat Feb 02 08:58:02 GMT-03:00 2008”?