La función wcsftime () en C ++ convierte la fecha y hora dadas de un tiempo determinado del calendario a una cadena de caracteres amplia terminada en nulo según una cadena de formato.
La función wcsftime () se define en el archivo de encabezado.
prototipo de wcsftime ()
size_t wcsftime (wchar_t * str, size_t count, const wchar_t * format, const tm * time);
La función wcsftime () toma 4 argumentos: str, count, format y time.
La información de fecha y hora señalada por time se convierte en un carácter ancho terminado en nulo basado en el valor de formato y se almacena en la matriz amplia señalada por str. Como máximo, se escriben bytes de conteo.
Parámetros de wcsftime ()
- str: puntero al primer elemento de la amplia matriz de caracteres para almacenar el resultado.
- count: número máximo de caracteres anchos para escribir.
- formato: puntero a una cadena de caracteres ancha terminada en nulo que especifica el formato de conversión. La cadena de formato consta de un especificador de conversión (que comienza con% y opcionalmente seguido de E u O) y otros caracteres anchos ordinarios.
Los caracteres anchos ordinarios, incluido el carácter ancho nulo de terminación, se copian tal cual en la cadena ancha de salida. Especificadores de formato para wcsftime ()Especificador de conversión Descripción Campos usados % Escribe el carácter% norte Escribe carácter de nueva línea t Escribe un carácter de tabulación horizontal Año Y Escribe 4 dígitos del año, por ejemplo, 2011 tm_year EY Escribe 4 dígitos del año en la representación alternativa de la configuración regional tm_year y Escribe los 2 últimos dígitos del año, rango (00, 99) tm_year Oy Escribe los 2 últimos dígitos del año en la representación alternativa de la configuración regional. tm_year Ey Escribe el año como compensación del período de calendario alternativo de la configuración regional% EC (depende de la configuración regional) tm_year C Escribe los 2 primeros dígitos del año, rango (00,99) tm_year CE Escribe el nombre del año base (período) en la representación alternativa de la configuración regional, tm_year GRAMO Escribe el año basado en la semana ISO 8601, es decir, el año que contiene la semana especificada. tm_year, tm_wday, tm_yday gramo Escribe los últimos 2 dígitos del año basado en la semana ISO 8601, es decir, el año que contiene la semana especificada (rango (00,99)). tm_year, tm_wday, tm_yday Mes segundo Escribe el nombre del mes abreviado, por ejemplo, enero tm_mon h Igual que b tm_mon segundo Escribe el nombre completo del mes, por ejemplo, enero tm_mon metro Escribe el mes como un número decimal, rango (01,12) tm_mon Om Escribe el mes utilizando el sistema numérico alternativo de la configuración regional. tm_mon Semana U Escribe la semana del año como un número decimal de 00 a 53 (el domingo es el primer día de la semana) tm_year, tm_wday, tm_yday UNED Escribe la semana del año como% U utilizando el sistema numérico alternativo tm_year, tm_wday, tm_yday W Escribe la semana del año como un número decimal de 00 a 53 (el lunes es el primer día de la semana) tm_year, tm_wday, tm_yday AY Escribe la semana del año como% W utilizando el sistema numérico alternativo tm_year, tm_wday, tm_yday V Escribe ISO 8601 semana del año (rango (01,53)). tm_year, tm_wday, tm_yday OV Escribe la semana del año, como% V, utilizando el sistema numérico alternativo tm_year, tm_wday, tm_yday Día del año / mes j Escribe el día del año como un número decimal, rango (001,366) tm_yday re Escribe el día del mes como un número decimal, rango (01,31) tm_mday Sobredosis Escribe el día del mes, como% d, utilizando el sistema numérico alternativo tm_mday mi Escribe el día del mes como un número decimal, rango (1,31) tm_mday Oe Escribe el día del mes, como% e, utilizando el sistema numérico alternativo tm_mday Día de la semana un Escribe el nombre abreviado del día de la semana, por ejemplo, viernes (depende de la configuración regional) tm_wday UN Escribe el nombre completo del día de la semana, por ejemplo, viernes (depende de la configuración regional) tm_wday w Escribe el día de la semana como un número decimal, rango (0-6) (el domingo es 0) tm_wday Ay Escribe el día de la semana como% w, utilizando el sistema numérico alternativo tm_wday tu Escribe el día de la semana como un número decimal, donde el lunes es 1 (formato ISO 8601), rango (1-7) tm_wday UNED Escribe el día de la semana como% u, utilizando el sistema numérico alternativo tm_wday Hora, minuto, segundo H Escribe la hora como un número decimal, rango (00,23) tm_hour OH Escribe la hora como% H, utilizando el sistema numérico alternativo tm_hour yo Escribe la hora como un número decimal, rango (01,12) tm_hour OI Escribe la hora como% I, utilizando el sistema numérico alternativo tm_hour METRO Escribe los minutos como un número decimal, rango (00,59) tm_min OM Escribe los minutos como% M, utilizando el sistema numérico alternativo tm_min S Escribe el segundo como un número decimal, rango (00,60) tm_sec SO Escribe en segundo lugar como por% S, utilizando el sistema numérico alternativo tm_sec Otro C Escribe una cadena estándar de fecha y hora, por ejemplo, domingo 17 de octubre 04:41:13 de 2010 (depende de la configuración regional) todos CE Escribe la cadena de fecha y hora alternativa de la configuración regional todos X Escribe representación de fecha localizada (depende de la configuración regional) todos Ex Escribe la representación de fecha alternativa de la configuración regional todos X Escribe la representación de la hora localizada (depende de la configuración regional) todos EX Escribe la representación horaria alternativa de la configuración regional todos re Equivalente a "% m /% d /% y" tm_mon, tm_mday, tm_year F Equivalente a "% Y-% m-% d" tm_mon, tm_mday, tm_year r Escribe un reloj localizado de 12 horas tm_hour, tm_min, tm_sec R Equivalente a "% H:% M" tm_hour, tm_min T Equivalente a "% H:% M:% S tm_hour, tm_min, tm_sec PAGS Escribe localizados am o pm (depende de la configuración regional) tm_hour z escribe el desplazamiento de UTC en el formato ISO 8601 (por ejemplo, -0545), o sin caracteres si la información de la zona horaria no está disponible tm_isdst Z Escribe el nombre o la abreviatura de la zona horaria, o nada si la información de la zona horaria no está disponible (depende de la configuración regional) tm_isdst - hora: la información de fecha y hora que se va a convertir.
wcsftime () Valor de retorno
- En caso de éxito, la función wcsftime () devuelve el número de caracteres anchos escritos en la matriz de caracteres anchos apuntada por str sin incluir la terminación L ' 0'.
- Si se alcanzó el recuento antes de que se pudiera almacenar toda la cadena, se devuelve 0 y el contenido no está definido.
Ejemplo: ¿Cómo funciona la función wcsftime ()?
#include #include #include using namespace std; int main() ( time_t curr_time; tm * curr_tm; wchar_t date_string(100); wchar_t time_string(100); time(&curr_time); curr_tm = localtime(&curr_time); wcsftime(date_string, 50, L"Today is %B %d, %Y", curr_tm); wcsftime(time_string, 50, L"Current time is %T", curr_tm); wcout << date_string << endl; wcout << time_string << endl; return 0; )
Cuando ejecute el programa, la salida será:
Hoy es 21 de abril de 2017 La hora actual es 14:42:45