44 Votos

Delphi/Lazarus: Mostrar Fecha y Hora actuales

Consejo de Stefan Trost | Última actualización el 03/06/2023 | Creado el 17/10/2020

Hoy, me gustaría mostrarle cómo poder mostrar y/o salidar la fecha y/o la hora en su aplicación Delphi o Lazarus.

Para esto, solo dos funciones son importantes: Con la función "now", puede obtener la marca de tiempo actual como TDateTime y, utilizando FormatDateTime, puede convertir esta marca de tiempo en una cadena (string) que contiene la fecha y/o la hora en cualquier representación o formato libremente controlable. Luego podemos procesar más esta cadena y generarla en cualquier parte de nuestro programa.

Primero veamos un pequeño código como ejemplo que muestra la fecha y la hora actual como un mensaje a través de ShowMessage:

var
  s: string;
begin
  s := FormatDateTime('dd/mm/yyyy, hh:nn:ss', now);
  ShowMessage(s); 
end;

FormatDateTime requiere dos parámetros: Una cadena de formato y el tiempo que se mostrará (en el formato TDateTime). Aquí, como tiempo, podemos usar la función "now" directamente, que de esta manera puede pasar su valor de retorno directamente a la función FormatDateTime.

La Cadena de Formato

A través de la cadena de formato, podemos especificar nuestro formato deseado para la fecha y la hora. En esta cadena, ciertas letras representan los componentes individuales de la fecha y la hora, para que podemos ajustar la salida de manera flexible.

Por ejemplo, en la cadena de formato, "yyyy" representa un año de cuatro dígitos, "yy" representa un año de dos dígitos, "mm" representa un mes de dos dígitos y "dd", "hh", "nn" y "ss" en consecuencia representa día, hora, minuto y segundo con dos dígitos cada uno y (según se requiera) ceros a la izquierda si los valores respectivos son menores a 10. Si solo usamos una de las dos letras para mes, día, hora, minuto o segundo, el número respectivo se escribirá sin ceros a la izquierda.

En nuestro ejemplo anterior, usamos la cadena de formato "dd/mm/yyyy, hh:nn:ss". Eso significa que comenzamos con la fecha con barras entre año, mes y día. La fecha va seguida de la hora con dos puntos entre horas, minutos y segundos separados por una coma y un espacio. Veremos más ejemplos de otras cadenas de formato en la siguiente sección.

Otros Formatos Comunes

Otros formatos de la fecha y la hora son posibles cambiando la cadena de formato según sus propias necesidades:

FormatDateTime('dd/mm/yyyy hh:nn:ss', now);  // 31/12/2023 23:59:00
FormatDateTime('dd.mm.yyyy, hh:nn:ss', now); // 31.12.2023, 23:59:00
FormatDateTime('dd/mm/yy', now);             // 31/12/99
FormatDateTime('yy/mm/dd', now);             // 99/12/31
FormatDateTime('yyyy/mm/dd', now);           // 2023/12/31
FormatDateTime('hh:nn:ss', now);             // 23:59:00
FormatDateTime('hh:nn', now);                // 23:59
FormatDateTime('yy-mm-dd-hh-nn-ss', now);    // 99-12-31-23-59-00
FormatDateTime('d.m.yyyy', now);             // 1.1.2000

Como podemos ver en los ejemplos, podemos cambiar el orden de los componentes individuales como deseemos o incluso omitirlos, podemos escribir los números sin ceros a la izquierda o simplemente mostrar la fecha o la hora sola.

Letras Significativas en la Cadena de Formato

También se pueden usar letras dentro de la cadena de formato. Pero debemos tener cuidado si queremos usar letras que también representen un componente de tiempo. Si no desea convertir caracteres como "d" o "y" a sus equivalentes de tiempo y, en cambio, mantener esas letras como tales, debe ponerlas entre comillas dobles ("):

FormatDateTime('"day "d', now);             // day 31

Aquí queremos generar la palabra "day" junto con el número del día. Para que la "d" y la "y" de "day" se escriban como tales, ponemos "day" entre comillas.

ResponderPositivoNegativo

Sobre el Autor

AvatarPuede encontrar software de Stefan Trost en la pagina es.sttmedia.com. ¿Necesita un software individual según sus propios requisitos? Escribenos: es.sttmedia.com/contacto
Ver Perfil

 

Temas Relacionados

MySQL: Saltos de Línea en MySQL

Consejo | 0 Comentarios

Aviso Importante

Por favor tenga en cuenta: Las contribuciones publicadas en askingbox.com son contribuciones de los usuarios y no deben reemplazar el asesoramiento profesional. No son verificados por independientes y no reflejan necesariamente la opinión de askingbox.com. Aprende más.

Participar

Haga su propia pregunta o escriba su propio artículo en askingbox.com. He aquí cómo.