C ++ wcsftime () - Biblioteca C ++ Padrão

A função wcsftime () em C ++ converte a data e hora fornecidas de um determinado tempo do calendário em uma cadeia de caracteres ampla terminada em nulo de acordo com uma cadeia de formato.

A função wcsftime () é definida no arquivo de cabeçalho.

protótipo wcsftime ()

 size_t wcsftime (wchar_t * str, size_t count, const wchar_t * formato, const tm * time);

A função wcsftime () leva 4 argumentos: str, count, format e time.

As informações de data e hora apontadas por time são convertidas em um caractere largo com terminação nula com base no valor de format e são armazenadas na ampla matriz apontada por str. No máximo, os bytes de contagem são gravados.

Parâmetros wcsftime ()

  • str: Ponteiro para o primeiro elemento da ampla matriz de caracteres para armazenar o resultado.
  • contagem: número máximo de caracteres largos a serem escritos.
  • formato: ponteiro para uma cadeia de caracteres ampla terminada em nulo especificando o formato de conversão. A string de formato consiste no especificador de conversão (começando com% e opcionalmente seguido por E ou O) e outros caracteres largos comuns.
    Os caracteres largos comuns, incluindo o caractere largo nulo de terminação, são copiados como estão para a string larga de saída. Especificadores de formato para wcsftime ()
    Especificador de conversão Descrição Campos Usados
    % Escreve o personagem%
    n Escreve caractere de nova linha
    t Escreve o caractere de tabulação horizontal
    Ano
    Y Escreve 4 dígitos do ano, por exemplo, 2011 tm_year
    EY Grava 4 dígitos do ano na representação alternativa do local tm_year
    y Escreve os últimos 2 dígitos do ano, intervalo (00, 99) tm_year
    Oi Grava os últimos 2 dígitos do ano na representação alternativa do local tm_year
    Ey Grava o ano como compensação do período alternativo do calendário da localidade% EC (dependente da localidade) tm_year
    C Escreve os primeiros 2 dígitos do ano, intervalo (00,99) tm_year
    CE Escreve o nome do ano base (período) na representação alternativa da localidade, tm_year
    G Grava o ano ISO 8601 com base na semana, ou seja, o ano que contém a semana especificada. tm_year, tm_wday, tm_yday
    g Escreve os últimos 2 dígitos do ano ISO 8601 com base na semana, ou seja, o ano que contém a semana especificada (intervalo (00,99)). tm_year, tm_wday, tm_yday
    Mês
    b Escreve o nome abreviado do mês, por exemplo, Jan tm_mon
    h Igual a b tm_mon
    B Escreve o nome completo do mês, por exemplo, janeiro tm_mon
    m Escreve o mês como um número decimal, intervalo (01,12) tm_mon
    Om Grava o mês usando o sistema numérico alternativo do local tm_mon
    Semana
    você Escreve a semana do ano como um número decimal de 00 a 53 (domingo é o primeiro dia da semana) tm_year, tm_wday, tm_yday
    OU Escreve a semana do ano como por% U usando o sistema numérico alternativo tm_year, tm_wday, tm_yday
    W Escreve a semana do ano como um número decimal de 00 a 53 (segunda-feira é o primeiro dia da semana) tm_year, tm_wday, tm_yday
    OW Escreve a semana do ano como por% W usando o sistema numérico alternativo tm_year, tm_wday, tm_yday
    V Grava ISO 8601 semana do ano (intervalo (01,53)). tm_year, tm_wday, tm_yday
    OV Escreve a semana do ano, como por% V, usando o sistema numérico alternativo tm_year, tm_wday, tm_yday
    Dia do ano / mês
    j Escreve o dia do ano como um número decimal, intervalo (001.366) tm_yday
    d Escreve o dia do mês como um número decimal, intervalo (01,31) tm_mday
    Od Escreve o dia do mês, como por% d, usando o sistema numérico alternativo tm_mday
    e Escreve o dia do mês como um número decimal, intervalo (1,31) tm_mday
    Oe Escreve o dia do mês, como por% e, usando o sistema numérico alternativo tm_mday
    Dia da semana
    uma Escreve o nome abreviado do dia da semana, por exemplo, Sex (dependente da localidade) tm_wday
    UMA Escreve o nome completo do dia da semana, por exemplo, sexta-feira (dependente da localidade) tm_wday
    W Escreve o dia da semana como um número decimal, intervalo (0-6) (domingo é 0) tm_wday
    Ai Escreve o dia da semana como por% w, usando o sistema numérico alternativo tm_wday
    você Escreve o dia da semana como um número decimal, onde segunda-feira é 1 (formato ISO 8601), intervalo (1-7) tm_wday
    Ou Escreve o dia da semana como por% u, usando o sistema numérico alternativo tm_wday
    Hora, minuto, segundo
    H Escreve a hora como um número decimal, intervalo (00,23) tm_hour
    OH Escreve a hora como por% H, usando o sistema numérico alternativo tm_hour
    Eu Escreve a hora como um número decimal, intervalo (01,12) tm_hour
    OI Escreve a hora como por% I, usando o sistema numérico alternativo tm_hour
    M Escreve o minuto como um número decimal, intervalo (00,59) tm_min
    OM Escreve minuto como por% M, usando o sistema numérico alternativo tm_min
    S Escreve o segundo como um número decimal, intervalo (00,60) tm_sec
    SO Escreve em segundo lugar como por% S, usando o sistema numérico alternativo tm_sec
    De outros
    c Grava a string de data e hora padrão, por exemplo, Dom, 17 de outubro, 04:41:13 de 2010 (dependente da localidade) todos
    Ec Grava a string alternativa de data e hora do local todos
    x Grava representação de data localizada (dependente da localidade) todos
    Ex Grava a representação de data alternativa do local todos
    X Grava representação de tempo localizada (dependente da localidade) todos
    EX Grava a representação de tempo alternativa da localidade todos
    D Equivalente a "% m /% d /% y" tm_mon, tm_mday, tm_year
    F Equivalente a "% Y-% m-% d" tm_mon, tm_mday, tm_year
    r Grava o relógio de 12 horas localizado 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
    P Escreve am ou pm localizado (dependente da localidade) tm_hour
    z grava o deslocamento do UTC no formato ISO 8601 (por exemplo, -0545), ou nenhum caractere se a informação de fuso horário não estiver disponível tm_isdst
    Z Escreve o nome ou a abreviatura do fuso horário ou nada se as informações do fuso horário não estiverem disponíveis (dependendo da localidade) tm_isdst
  • hora: as informações de data e hora a serem convertidas.

wcsftime () Valor de retorno

  • Em caso de sucesso, a função wcsftime () retorna o número de caracteres largos escritos na matriz de caracteres largos apontada por str sem incluir o L ' 0' de terminação.
  • Se a contagem foi alcançada antes que toda a string pudesse ser armazenada, 0 é retornado e o conteúdo é indefinido.

Exemplo: Como funciona a função 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; )

Quando você executa o programa, a saída será:

 Hoje é 21 de abril de 2017. hora atual é 14:42:45

Artigos interessantes...