Función de biblioteca C - strftime ()
Descripción
La función de la biblioteca C size_t strftime(char *str, size_t maxsize, const char *format, const struct tm *timeptr) Formatea el tiempo representado en la estructura. timeptr de acuerdo con las reglas de formato definidas en format y almacenado en str.
Declaración
A continuación se muestra la declaración de la función strftime ().
size_t strftime(char *str, size_t maxsize, const char *format, const struct tm *timeptr)
Parámetros
str - Este es el puntero a la matriz de destino donde se copia la cadena C resultante.
maxsize - Este es el número máximo de caracteres que se copiarán en str.
format- Esta es la cadena C que contiene cualquier combinación de caracteres regulares y especificadores de formato especial. Estos especificadores de formato son reemplazados por la función a los valores correspondientes para representar el tiempo especificado en tm. Los especificadores de formato son:
Especificador | Reemplazado por | Ejemplo |
---|---|---|
%un | Nombre abreviado del día de la semana | Dom |
%UN | Nombre completo del día de la semana | domingo |
%segundo | Nombre del mes abreviado | mar |
%SEGUNDO | Nombre del mes completo | marzo |
%C | Representación de fecha y hora | Dom 19 de agosto 02:56:02 2012 |
%re | Día del mes (01-31) | 19 |
% H | Hora en formato 24h (00-23) | 14 |
%YO | Hora en formato de 12h (01-12) | 05 |
% j | Día del año (001-366) | 231 |
%metro | Mes como número decimal (01-12) | 08 |
%METRO | Minuto (00-59) | 55 |
%pags | Designación AM o PM | PM |
% S | Segundo (00-61) | 02 |
% U | Número de semana con el primer domingo como primer día de la semana uno (00-53) | 33 |
% w | Día de la semana como número decimal con domingo como 0 (0-6) | 4 |
% W | Número de semana con el primer lunes como primer día de la semana uno (00-53) | 34 |
%X | Representación de fecha | 19/08/12 |
%X | Representación del tiempo | 02:50:06 |
% y | Año, dos últimos dígitos (00-99) | 01 |
% Y | Año | 2012 |
% Z | Nombre o abreviatura de la zona horaria | CDT |
%% | Una señal | % |
timeptr - Este es el puntero a una estructura tm que contiene un calendario desglosado en sus componentes como se muestra a continuación -
struct tm {
int tm_sec; /* seconds, range 0 to 59 */
int tm_min; /* minutes, range 0 to 59 */
int tm_hour; /* hours, range 0 to 23 */
int tm_mday; /* day of the month, range 1 to 31 */
int tm_mon; /* month, range 0 to 11 */
int tm_year; /* The number of years since 1900 */
int tm_wday; /* day of the week, range 0 to 6 */
int tm_yday; /* day in the year, range 0 to 365 */
int tm_isdst; /* daylight saving time */
};
Valor devuelto
Si la cadena C resultante encaja en caracteres de tamaño menor (que incluye el carácter nulo de terminación), el número total de caracteres copiados en str (sin incluir el carácter nulo de terminación) se devuelve; de lo contrario, devuelve cero.
Ejemplo
El siguiente ejemplo muestra el uso de la función strftime ().
#include <stdio.h>
#include <time.h>
int main () {
time_t rawtime;
struct tm *info;
char buffer[80];
time( &rawtime );
info = localtime( &rawtime );
strftime(buffer,80,"%x - %I:%M%p", info);
printf("Formatted date & time : |%s|\n", buffer );
return(0);
}
Compilemos y ejecutemos el programa anterior que producirá el siguiente resultado:
Formatted date & time : |08/23/12 - 12:40AM|