C ++ wcsftime () - Libreria standard C ++

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

Articoli interessanti...