La funzione wcsftime () in C ++ converte la data e l'ora specificate da una determinata ora del calendario a una stringa di caratteri estesi con terminazione null in base a una stringa di formato.
La funzione wcsftime () è definita nel file di intestazione.
prototipo di wcsftime ()
size_t wcsftime (wchar_t * str, size_t count, const wchar_t * format, const tm * time);
La funzione wcsftime () accetta 4 argomenti: str, count, format e time.
Le informazioni su data e ora a cui fa riferimento time vengono convertite in un carattere wide con terminazione null in base al valore di format e vengono memorizzate nella matrice wide a cui punta str. Vengono scritti al massimo i byte di conteggio.
Parametri wcsftime ()
- str: puntatore al primo elemento dell'ampio array di caratteri per memorizzare il risultato.
- count: numero massimo di caratteri larghi da scrivere.
- formato: puntatore a una stringa di caratteri estesi con terminazione null che specifica il formato di conversione. La stringa di formato è composta da un identificatore di conversione (che inizia con% e facoltativamente seguito da E o O) e altri caratteri larghi ordinari.
I caratteri larghi ordinari, compreso il carattere estensibile null finale, vengono copiati così come sono nella stringa ampia di output. Identificatori di formato per wcsftime ()Identificatore di conversione Descrizione Campi utilizzati % Scrive il carattere% n Scrive il carattere di nuova riga t Scrive il carattere di tabulazione orizzontale Anno Y Scrive 4 cifre dell'anno, ad esempio 2011 tm_year EY Scrive 4 cifre dell'anno nella rappresentazione alternativa della locale tm_year y Scrive le ultime 2 cifre dell'anno, intervallo (00, 99) tm_year Oy Scrive le ultime 2 cifre dell'anno nella rappresentazione alternativa della locale tm_year Ey Scrive l'anno come offset dal periodo di calendario alternativo della locale% EC (dipendente dalla locale) tm_year C Scrive le prime 2 cifre dell'anno, intervallo (00,99) tm_year CE Scrive il nome dell'anno base (periodo) nella rappresentazione alternativa della locale, tm_year G Scrive l'anno basato sulla settimana secondo ISO 8601, ovvero l'anno che contiene la settimana specificata. tm_year, tm_wday, tm_yday g Scrive le ultime 2 cifre dell'anno su base settimanale ISO 8601, ovvero l'anno che contiene la settimana specificata (intervallo (00,99)). tm_year, tm_wday, tm_yday Mese b Scrive il nome del mese abbreviato, ad esempio Jan tm_mon h Uguale a b tm_mon B Scrive il nome completo del mese, ad esempio gennaio tm_mon m Scrive il mese come numero decimale, intervallo (01,12) tm_mon Om Scrive il mese utilizzando il sistema numerico alternativo della locale tm_mon Settimana U Scrive la settimana dell'anno come numero decimale compreso tra 00 e 53 (la domenica è il primo giorno della settimana) tm_year, tm_wday, tm_yday OU Scrive la settimana dell'anno come% U utilizzando il sistema numerico alternativo tm_year, tm_wday, tm_yday W Scrive la settimana dell'anno come numero decimale compreso tra 00 e 53 (il lunedì è il primo giorno della settimana) tm_year, tm_wday, tm_yday OW Scrive la settimana dell'anno come% W utilizzando il sistema numerico alternativo tm_year, tm_wday, tm_yday V Scrive la settimana dell'anno ISO 8601 (intervallo (01,53)). tm_year, tm_wday, tm_yday OV Scrive la settimana dell'anno, come% V, utilizzando il sistema numerico alternativo tm_year, tm_wday, tm_yday Giorno dell'anno / mese j Scrive il giorno dell'anno come numero decimale, intervallo (001,366) tm_yday d Scrive il giorno del mese come numero decimale, intervallo (01,31) tm_mday Od Scrive il giorno del mese, come% d, utilizzando il sistema numerico alternativo tm_mday e Scrive il giorno del mese come numero decimale, intervallo (1,31) tm_mday Oe Scrive il giorno del mese, come% e, utilizzando il sistema numerico alternativo tm_mday Giorno della settimana un Scrive il nome abbreviato del giorno della settimana, ad esempio Fri (dipendente dalla lingua) tm_wday UN Scrive il nome completo del giorno della settimana, ad es. Venerdì (dipende dalla lingua) tm_wday w Scrive il giorno della settimana come numero decimale, intervallo (0-6) (la domenica è 0) tm_wday Ow Scrive il giorno della settimana come% w, utilizzando il sistema numerico alternativo tm_wday u Scrive il giorno della settimana come numero decimale, dove lunedì è 1 (formato ISO 8601), intervallo (1-7) tm_wday Ou Scrive il giorno della settimana come% u, utilizzando il sistema numerico alternativo tm_wday Ora, minuto, secondo H Scrive l'ora come numero decimale, intervallo (00,23) tm_hour OH Scrive l'ora come% H, utilizzando il sistema numerico alternativo tm_hour io Scrive l'ora come numero decimale, intervallo (01,12) tm_hour OI Scrive l'ora come% I, utilizzando il sistema numerico alternativo tm_hour M Scrive i minuti come numero decimale, intervallo (00,59) tm_min OM Scrive i minuti come da% M, utilizzando il sistema numerico alternativo tm_min S Scrive il secondo come numero decimale, intervallo (00,60) tm_sec OS Scrive il secondo come% S, utilizzando il sistema numerico alternativo tm_sec Altro c Scrive una stringa di data e ora standard, ad esempio Sun Oct 17 04:41:13 2010 (dipendente dalla lingua) tutti Ec Scrive la data alternativa e la stringa dell'ora tutti X Scrive la rappresentazione della data localizzata (dipendente dalla locale) tutti Ex Scrive la rappresentazione della data alternativa della locale tutti X Scrive la rappresentazione dell'ora localizzata (dipendente dalla locale) tutti EX Scrive la rappresentazione dell'ora alternativa della locale tutti 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 Scrive l'ora localizzata di 12 ore 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 Scrive am o pm localizzato (dipende dalla lingua) tm_hour z scrive l'offset da UTC nel formato ISO 8601 (ad es. -0545) o nessun carattere se le informazioni sul fuso orario non sono disponibili tm_isdst Z Scrive il nome o l'abbreviazione del fuso orario o nulla se le informazioni sul fuso orario non sono disponibili (dipende dalla lingua) tm_isdst - ora: la data e l'ora da convertire.
wcsftime () Restituisce il valore
- In caso di successo, la funzione wcsftime () restituisce il numero di caratteri larghi scritti nell'array di caratteri estesi puntato da str senza includere la L ' 0' di terminazione.
- Se il conteggio è stato raggiunto prima che l'intera stringa potesse essere memorizzata, viene restituito 0 e il contenuto non è definito.
Esempio: come funziona la funzione 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 esegui il programma, l'output sarà:
Oggi è il 21 aprile 2017 L'ora corrente è 14:42:45