Ver Mensaje Individual
  #5  
Antiguo 16-07-2006
lbuelvas lbuelvas is offline
Miembro
 
Registrado: may 2003
Ubicación: Colombia
Posts: 377
Reputación: 22
lbuelvas Va por buen camino
Cordial saludo,

Bueno, las fechas siempre han sido un problemilla, debido a que una cosa es la representacion interna en el motor, otra cosa es la forma en que se utilizan en SQL y otra es como se la presentamos al usuario.

Sobre la representacion interna, dejemosela a algun experto. Para la presentacion de datos al usuario, en mi caso (creo que es el de varios) utilizo el formato dd/mm/yyyy, pero en sentencias SQL se utiliza mm/dd/yyyy.

Para los que prorgramamos en Delphi y debemos construir SQL al vuelo, tendremos problema con variables de tipo TDateTime (son las que utilizo para mis variables en Delphi que tengan fechas).

Por eso diseñe una funcioncita que me convierta los TDateTime en una cadena con la fecha en el formato mm/dd/yyyy.

Código Delphi [-]
//*************************************************************************
//Funciones para manejo de fechas en general y fechas para Interbase en formato mm/dd/aaaa
//*************************************************************************

function _fecha_delimitada (fecha: TDateTime; caracter_delimitador: string) : string;
var
  anno, mes, dia: word;
begin
  DecodeDate(fecha,anno,mes,dia);
  if mes < 10 then
    if dia < 10 then
      result:=caracter_delimitador+'0'+InttoStr(mes)+'/'+'0'+InttoStr(dia)+'/'+InttoStr(anno)+caracter_delimitador
    else
      result:=caracter_delimitador+'0'+InttoStr(mes)+'/'+    InttoStr(dia)+'/'+InttoStr(anno)+caracter_delimitador
  else
    if dia < 10 then
      result:=caracter_delimitador+    InttoStr(mes)+'/'+'0'+InttoStr(dia)+'/'+InttoStr(anno)+caracter_delimitador
    else
      result:=caracter_delimitador+    InttoStr(mes)+'/'+    InttoStr(dia)+'/'+InttoStr(anno)+caracter_delimitador
end;

Espero les sea de utilidad.

Luis F. Buelvas T.
__________________
Luis Fernando Buelvas T.
Responder Con Cita