C:
Convirtiendo una fecha en una cadena de texto
Cómo hacerlo:
La función strftime
de la biblioteca <time.h>
es comúnmente utilizada para este propósito. Te permite formatear la fecha y hora de diversas maneras especificando especificadores de formato. Aquí hay un ejemplo rápido:
#include <stdio.h>
#include <time.h>
int main() {
char dateStr[100];
time_t now = time(NULL);
struct tm *ptm = localtime(&now);
// Convertir la fecha y hora a cadena (por ejemplo, "Wed Jun 30 21:49:08 2021")
strftime(dateStr, sizeof(dateStr), "%a %b %d %H:%M:%S %Y", ptm);
printf("Fecha y Hora Actuales: %s\n", dateStr);
return 0;
}
La salida de ejemplo podría lucir así:
Fecha y Hora Actuales: Wed Jun 30 21:49:08 2021
Puedes personalizar el formato cambiando los especificadores de formato pasados a strftime
. Por ejemplo, para obtener la fecha en el formato AAAA-MM-DD
, usarías "%Y-%m-%d"
.
Profundización
La función strftime
y la biblioteca <time.h>
son parte de la Biblioteca Estándar C, la cual se remonta al estándar original ANSI C (C89/C90). Aunque es directa y cuenta con soporte en muchas plataformas, este enfoque puede parecer de bajo nivel y engorroso en comparación con los lenguajes de programación modernos que ofrecen bibliotecas de fecha y hora más intuitivas.
Se debe notar, aunque las funciones de tiempo de la biblioteca estándar de C tienen un amplio soporte y son relativamente simples de usar, carecen de algunas de las características más complejas de manipulación de zonas horarias e internacionalización que se encuentran en bibliotecas de lenguajes más nuevos o bibliotecas C de terceros como los Componentes Internacionales para Unicode (ICU).
Sin embargo, las capacidades de personalización de la función strftime
y su amplio soporte de plataforma la hacen una herramienta confiable y útil para la conversión de fechas a cadenas en C. Los programadores que provienen de lenguajes con bibliotecas de fecha y hora de más alto nivel pueden necesitar ajustarse a su naturaleza de bajo nivel, pero la encontrarán notablemente poderosa y versátil para formatear fechas y horas para una variedad de aplicaciones.