Ver Mensaje Individual
  #5  
Antiguo 04-03-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Para un equipo en el que está configurado el formato "dd/mm/yyyy" funciona de maravilla, pero cuando ejecuto la aplicación en un equipo con formato "mm/dd/yyyy", me dice que la fecha "17/01/2012 07:46:42" no es una fecha/hora válida, claro, no existe el mes "17".
Hola Leviatan.

Podrías evaluar previamente la configuración actual para luego hacer la conversión correspondiente:
Código Delphi [-]
function FormatearFechaHora(Cadena: string): string;
var
  Anio, Mes, Dia, Hora, Min, Seg: string;
  FechaHora: TDateTime;
begin
  Anio := Copy(Cadena, 1, 4);
  Mes := Copy(Cadena, 5, 2);
  Dia := Copy(Cadena, 7, 2);
  Hora := Copy(Cadena, 9, 2);
  Min := Copy(Cadena, 11, 2);
  Seg := Copy(Cadena, 13, 2);
  if UpperCase(Copy(ShortDateFormat,1,2)) = 'DD' then
    FechaHora := StrToDateTime(Dia + '/' + Mes + '/' + Anio + ' ' + Hora + ':' + Min + ':' + Seg)
  else
    FechaHora := StrToDateTime(Mes + '/' + Dia + '/' + Anio + ' ' + Hora + ':' + Min + ':' + Seg);
  Result := AnsiReplaceStr(FormatDateTime('yyyy-mm-dd hh:mm:ss', FechaHora), ' ', 'T')
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita