Hola,
Continuemos un poco más con FreePascal. Hoy tocan las
funciones de Fecha y Hora.
Hay diferentes funciones para hacer cosas similares. Yo recomendaría utilizar las funciones incluidas en la unidad sysutils.
La documentación oficial:
Uso del TIME para obtener la hora actual:
Uso del DATE para obtener la fecha:
CONVERSIÓN DE TIPOS:
Normalmente leemos la fecha de un fichero de texto o base de datos, lo que nos obligará normalmente a realizar la conversión entre tipos tanto al escribirla como al leerla.
Conversión de string en fecha:
Conversión de fecha a string:
Ejemplo de uso: En mi ejemplo he creado una variable Regla de tipo Record. Voy a leer de un fichero de texto una fecha:
Leo 10 caracteres a partir del carácter número 71:
regla.fecha:= Copy(linea,71,10);
Elimino los espacios vacíos:
regla.fecha:= StringReplace(regla.fecha,' ','',[rfReplaceAll]);
Si no está todo vacío (o sea, que hay una fecha), intento la conversión a TIPO FECHA:
if regla.fecha <> '' then
TryStrToDateTime(regla.fecha, regla.tdatetimeFecha);
OPERACIÓN DE COMPARACIÓN CON FECHAS:
Las fechas se pueden comparar entre sí.
if fecha1 < fecha2 then
CONVERSIÓN DE FECHA A STRING CON FORMATO:
Writeln(FormatDateTime('DD MM YYYY',fecha1);
Saludos.