Recebe String de data e converte do formato ORIGEM para formato DESTINO

Função que recebe String de data e converte do formato ORIGEM para formato DESTINO

 

function InverteStringData(sData, sFormatoOrigem, sFormatoDestino: String):String;
// Ex:
// InverteStringData(DateToStr(Date),’DD/MM/AAAA’,’AAAA/MM/DD’)
var
sDia : String;
sMes : String;
sAno : String;
begin
if sFormatoOrigem = ‘DD/MM/AAAA’ then
begin
sDia := Copy(sData,1,2);
sMes := Copy(sData,4,2);
sAno := Copy(sData,7,4);
end
else
if sFormatoOrigem = ‘MM/DD/AAAA’ then
begin
sMes := Copy(sData,1,2);
sDia := Copy(sData,4,2);
sAno := Copy(sData,7,4);
end
else
if sFormatoOrigem = ‘AAAA/MM/DD’ then
begin
sAno := Copy(sData,1,4);
sMes := Copy(sData,6,2);
sDia := Copy(sData,9,2);
end
else
begin
MessageDlg(‘Formato original da data errado. A própria data do sistema foi retornada.’,
mtError,[mbOk],0);
Result := DateToStr(Date);
Exit;
end;
if sFormatoDestino = ‘DD/MM/AAAA’ then
begin
Result := sDia + ‘/’ + sMes + ‘/’ + sAno;
end
else
if sFormatoDestino = ‘MM/DD/AAAA’ then
begin
Result := sMes + ‘/’ + sDia + ‘/’ + sAno;
end
else
if sFormatoDestino = ‘AAAA/MM/DD’ then
Result := sAno + ‘/’ + sMes + ‘/’ + sDia
else
begin
MessageDlg(‘Formato destino da data errado. A própria data do sistema foi retornada.’,
mtError,[mbOk],0);
Result := DateToStr(Date);
Exit;
end;
end;

 

Compartilhe esta matéria
  , ,


Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

This site uses Akismet to reduce spam. Learn how your comment data is processed.