C ++ wcsftime () - Biblioteca estándar de C ++

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

Articulos interesantes...