InicioApuntes Y MonografiasManejo de fechas en delphi

Manejo de fechas en delphi





Manejo de fechas en delphi


funciones para fechas delphi – TDate – TDateTime – TTime – rutinas de fechas en delphi

El siguiente articulo vamos a ver como manejar fechas y horas en delphi
las funciones que veremos pertenecen a la unidad SysUtils y la mayoría en DateUtils que a partir de delphi 6 están con nosotros, con ellas podremos resolver dilemas como:

• extraer parte de la fecha, año, mes, día
• incrementar años, meses, días en una fecha y viceversa
• comparar dos fechas
• saber cuántos días faltan por una fecha
• validar una fecha
• saber si es un año bisiesto
• día de la semana de una fecha

Definición de variables de tipo fecha

Para manejar fechas en delphi necesitamos definir las variables con el tipo adecuado para fechas, para ello tenemos en disposición de tres tipos TDate – TTime y TDateTime

TDate Para almacenar una fecha día/mes/año
TTime Para almacenar una hora, hora: minuto: segundo
TDateTime Es una combinación de las dos anteriores: día/mes/año hora: minuto: segundo

Ejemplo:

var
MiData: Tdate; //variable de data 00/00/00
MiHora: TTime; //variable de hora 00:00:00
MiFecha: TDateTime; //variable con data y hora 00/00/00 00:00:00

Funciones básicas para obtener fechas

unidad: SysUtils
date() : devuelve la data actual
time() GetTime() : devuelve la hora actual
now() : devuelve la data y hora actual

Ojo si utilizamos variables de tipo TDateTime y usamos time() o GetTime() el data por defecto es 30/12/1899
Ejemplo:

MiData := date(); //29/06/08
MiHora := time(); //14:08
MiFecha := now(); //29/06/08 14:08
MiFecha := GetTime(); // 30/12/1899 14:08

Funciones de salida para fechas “OUTPUT”

Para mostrar una variable de contenedor fecha en pantalla, en un editbox,label,listbox etc.. tenemos que pasar la fecha en formato cadena “string”, para ello usaremos la funciones convertidoras de tipos “casting” apropiadas

unidad: SysUtils
DateToStr :Convierte de Data a texto
TimeToStr :Convierte de Hora a texto
DateTimeToStr :Convierte de Data y Hora a texto

Ejemplo:

edit1.text := DateToStr(MiData);
edit1.text := TimeToStr(MiHora);
edit1.text := DateTimeToStr(MiFecha);

Funciones de entrada para fechas “INPUT”

Podemos utilizar (StrToDate – STrToTime – StrToDateTime) para que el usuario puede agregar datas manualmente o bien para predeterminar la fecha o hora

unidad: SysUtils
StrToDate :Convierte de texto a Data
STrToTime :Convierte de texto a Hora
StrToDateTime :Convierte de texto a Data y Hora
Para componer una fecha en delphi tenemos el siguiente formato Dia/Mes/Año Hora:Minuto:Segundo,Milisegundo

Ejemplo:

MiData := StrToDate('01/06/2008');
MiHora := StrToTime('10:20:30');
MiFecha := StrToDateTime('01/06/2008 10:20:30,232');

Nota: si se pasa una fecha o tiempo incorrecto salta una excepción de tipo EConvertError

Funciones typecast validadoras de fechas

Podemos usar el manejo de excepciones (try, except, finally) o bien usar la funciones TryStrToDate, TryStrToTime, TryStrToDateTime que veremos después
cuando pasamos una fecha o tiempo incorrecto delphi salta con una excepción de tipo EConvertError la podemos capturar con “on EConvertError”

Ejemplo
var
MiFecha:Tdatetime;
Begin
Ttry
MiFecha := StrToDate('01/06/2008');
Except
on EConvertError do
ShowMessage('Fecha incorrecta');
End;
End;

Funciones TryStrToDate, TryStrToTime y TryStrToDateTime, todas se llaman de la siguiente manera nombrefuncion(donde_guardar,fecha_a_pasar) nos devuelve con un booleano si ha sido correcta o no la conversión

Ejemplo
var
MiFecha:Tdatetime;
cadena:string;
Begin
cadena := '31/02/2009';
If (TryStrToDateTime(cadena,mifecha)) then
showmessage('conversion correcta')
else
showmessage('conversion incorrecta');
end;


Publicado por Pedro Oscar Cayetano Mares Rakzo Zeram

http://rakzo-zeram.blogspot.com/



Datos archivados del Taringa! original
17puntos
1,887visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
6visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

e
eche_lr73🇦🇷
Usuario
Puntos0
Posts1
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.