Inverter data de formato: dd/mm/aaaa <=> aaaa/mm/dd

Java

31/05/2010

Pessoal   Bom dia   Estou gerando um arquivo TXT com base em uma tabela de um BD Access,,, com relação a gerar o aquivo esta sob controle, porem me deparei com detalhe que não achei um solução ainda:   Tenho um campo de data com o formato: DD/MM/AAAA, quando na gravação no TXT preciso inverter o formato para: AAAA/MM/DD e retirar as barras ficando assim:   Na Tabela: 31/05/2010 No TXT:      20100531     Alguem poderia me ajudar?     Grande abraço a todos
Arildo Augusto

Arildo Augusto

Curtidas 0

Respostas

Ulisses Silva

Ulisses Silva

31/05/2010

Arlindo, Me parece que você já fez um poste semelhante porém, disse que deveria ser em Delphi. Como você postou novamente na sala referente a tópicos sobre a linguagem Java, verifique se o exemplo abaixo serve como ajuda:  
 
 //cria o formatador   
SimpleDateFormat formatador = new SimpleDateFormat("yyyyMMdd");   
// cria a string   4.String novoFormato = novoFormatador.format(data); 

  Caso sua necessidade seja de algo em Delphi, tente verificar a possibilidade do registro de sua dúvida no respectiva sala que aborda que trata de assuntos relacionados a linguagem solicitada.   Até...
GOSTEI 0
Ulisses Silva

Ulisses Silva

31/05/2010

Correção:   Segue exemplo código limpo e formatado:  
 
//cria o formatador   
SimpleDateFormat formatador = new SimpleDateFormat("yyyyMMdd");   
// cria a string   
String novoFormato = novoFormatador.format(data); 

    Até...
GOSTEI 0
Arildo Augusto

Arildo Augusto

31/05/2010

Pessoal,,   Consegui resolver em Delphi mesmo com o uso de duas (2) funções     function CDateStr(const date:tdatetime):string;
var
fano, fmes, fdia, fhora, fmin, fsec, fmilsec : word;
begin
  decodeDateTime(date,fano,fmes,fdia,fhora,fmin,fsec,fmilsec);
  result:=zeroesquerda2(fano,4)+zeroesquerda2(fmes,2)+zeroesquerda2(fdia,2)+zeroesquerda2(fhora,2)+zeroesquerda2(fmin,2)+zeroesquerda2(fsec,2);
end;   **---   function ZeroEsquerda2(const I: integer; const Casas: byte): string;
var
Ch: Char;
begin
  Result := IntToStr(I);
  if Length(Result) > Casas then begin
     Ch := '*';
     Result := '';
  end
  else
  Ch := '0';
  while length(Result) < Casas do
  result:=Ch+Result;   Pode não ser a melhor forma, porem resolveu o meu problema,   Caso puder ser melhorada,,  fiquem a vontade.   Mesmo assim agradeço ao Ulisses pela resposta,,   Fiquem todos com DEUS
GOSTEI 0
Dyego Carmo

Dyego Carmo

31/05/2010

Resolvido ?:

GOSTEI 0
Arildo Augusto

Arildo Augusto

31/05/2010

Com certeza
GOSTEI 0
Dyego Carmo

Dyego Carmo

31/05/2010

OK , então pode fechar !

GOSTEI 0
POSTAR