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