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
[-]
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.