Prezados,
Recebo uma data em String no formato yyyyMMdd, mas preciso da mesma no formato ddMMyyyy também em String.
Como vocês fariam?
Pensei em fazer o processo normal de usar um SimpleDateFormat passando o primeiro padrão e transformá-lo em um objeto Date e depois reaplicar o pattern no SimpleDateFormat finalizando com o parse no Date, algo como:
public static String modificarPadroesData(final String data, final String patternAntigo, final String patternNovo) {
try {
final SimpleDateFormat sdf = new SimpleDateFormat(patternAntigo);
final Date date = sdf.parse(data);
sdf.applyPattern(patternNovo);
return sdf.format(date);
} catch (final ParseException e) {
return null;
}
}
Mas me pareceu meio goHorse isso. Como vocês fariam?
Você pode fazer quebrando em substrings também… O que me parece muito mais XGH.
[quote=pgioseffi]Prezados,
Recebo uma data em String no formato yyyyMMdd, mas preciso da mesma no formato ddMMyyyy também em String.
Como vocês fariam?
Pensei em fazer o processo normal de usar um SimpleDateFormat passando o primeiro padrão e transformá-lo em um objeto Date e depois reaplicar o pattern no SimpleDateFormat finalizando com o parse no Date, algo como:
public static String modificarPadroesData(final String data, final String patternAntigo, final String patternNovo) {
try {
final SimpleDateFormat sdf = new SimpleDateFormat(patternAntigo);
final Date date = sdf.parse(data);
sdf.applyPattern(patternNovo);
return sdf.format(date);
} catch (final ParseException e) {
return null;
}
}
Mas me pareceu meio goHorse isso. Como vocês fariam?[/quote]
Só pra dizer que eu mudei alguma coisa:
SimpleDateFormat sdf= new SimpleDateFormat(patternAntigo);
return sdf.format( new SimpleDateFormat(patternNovo).parse(data));
Quando não tratamos data como Date precisamos fazer essas gambis!! rs
Abs!
Prezado drsmachado,
Era assim que estava sendo feito e eu quis mudar. Muito pior com substring mesmo.
Prezado freakazoid,
O seu jeito funciona também, eu só não quis instanciar dois objetos na memória. Reaproveitei o primeiro.
Quanto ao seu comentário, dessa vez não vou criticar pq essa base é utilizada para outras aplicações Cobol que têm suas restrições e etc.
[quote=pgioseffi]Prezado drsmachado,
Era assim que estava sendo feito e eu quis mudar. Muito pior com substring mesmo.
Prezado freakazoid,
O seu jeito funciona também, eu só não quis instanciar dois objetos na memória. Reaproveitei o primeiro.
Quanto ao seu comentário, dessa vez não vou criticar pq essa base é utilizada para outras aplicações Cobol que têm suas restrições e etc.[/quote]
Quando é restrição do projeto não tem jeito rs
Abs!
De qualquer forma, qualquer SGBD possui mecanismos de conversão e manipulação de datas. A única limitação seria, efetivamente, ler em arquivos texto em tempo de execução.
Pois é, drsmachado,
Aí eu nem posso falar muito pq não conheço bem DB2 e aqui pra ter acesso a qualquer coisa de banco é uma burocracia infernal.
Pra vc ter noção, eu recebo um Long com a data, mas não um Long no formato que o Date usa. Um Long com a data no formato yyyyMMdd. Daí tenho que converter pra toString e por aí vai.
É, tem coisas que são infernais mesmo.