Condividi tramite


strftime, wcsftime, _strftime_l, _wcsftime_l

Formattazione di una stringa dell' ora.

size_t strftime(
   char *strDest,
   size_t maxsize,
   const char *format,
   const struct tm *timeptr 
);
size_t _strftime_l(
   char *strDest,
   size_t maxsize,
   const char *format,
   const struct tm *timeptr,
   _locale_t locale
);
size_t wcsftime(
   wchar_t *strDest,
   size_t maxsize,
   const wchar_t *format,
   const struct tm *timeptr 
);
size_t _wcsftime_l(
   wchar_t *strDest,
   size_t maxsize,
   const wchar_t *format,
   const struct tm *timeptr,
   _locale_t locale
);

Parametri

  • strDest
    stringa di output.

  • maxsize
    Dimensione del buffer di strDest , misurata nei caratteri (char o wchart_t).

  • format
    stringa del Formato-controllo.

  • timeptr
    struttura dei dati ditm .

  • locale
    le impostazioni locali da utilizzare.

Valore restituito

strftime restituisce il numero di caratteri posizionato in strDest e wcsftime restituisce il numero corrispondente i caratteri di tipo " wide ".

Se il numero totale di caratteri, inclusi null di terminazione, è più di maxsize, sia strftime che wcsftime restituisce 0 e il contenuto di strDest è indeterminato.

Il numero di caratteri in strDest è uguale al numero di caratteri letterali in format nonché di tutti i caratteri che possono essere aggiunti a format tramite i codici di formattazione.Null di terminazione di una stringa non è incluso il valore restituito.

Note

Le funzioni di wcsftime e di strftime al valore di tm in timeptr come l'argomento fornito di format e archiviano il risultato nel buffer strDest*.* A il massimo, i caratteri di maxsize vengono inseriti nella stringa.Per una descrizione dei campi della struttura di timeptr , vedere asctime.wcsftime è l'equivalente a caratteri estesi di strftime; i punti di argomenti del puntatore di stringa a una stringa di caratteri estesi.Queste funzioni si comportano in modo identico in caso contrario.

[!NOTA]

In le versioni precedenti a Visual C++ 2005, la documentazione viene descritto il parametro di format di wcsftime come dotata del tipo di dati const wchar_t *, ma dell' implementazione effettiva del tipo di dati di format è const char *.L'implementazione del tipo di dati di formatè stata aggiornata per riflettere la documentazione precedente e corrente, ovvero, const wchar_t *.

Questa funzione convalida dei parametri.Se strDest, format, otimeptr è un puntatore null, o se la struttura dei dati di tm di destinazione di timeptr non è valida (ad esempio, se contiene i valori esterni all' intervallo per l'ora o la data, oppure se la stringa di format contiene un codice di formattazione non valido, il gestore non valido di parametro viene richiamato, come descritto Convalida dei parametriin.Se l'esecuzione è consentita per continuare, la funzione restituisce 0 e imposta errno a EINVAL.

Mapping di routine a testo generico

routine di TCHAR.H

_UNICODE & _MBCS non definiti

_MBCS definito

_UNICODE definito

_tcsftime

strftime

strftime

wcsftime

L'argomento di format è costituito da uno o più codici; come in printf, i codici di formattazione sono preceduti da un segno di percentuale (%).I caratteri che non iniziano con % sono invariato copiato in strDest*.* La categoria di LC_TIME delle impostazioni locali correnti influisce sulla formattazione di output di strftime.(Per ulteriori informazioni su LC_TIME, vedere setlocale). le funzioni senza il suffisso di _l utilizzano le impostazioni locali attualmente impostate.Le versioni di queste funzioni con il suffisso di _l sono identiche tranne per il fatto che accettano impostazioni locali come parametro e utilizzano tale anziché le impostazioni locali attualmente impostate.Per ulteriori informazioni, vedere Impostazioni locali.

I codici di formattazione per strftime vengono elencati di seguito:

  • %a
    Nome abbreviato del giorno della settimana

  • %A
    Nome del giorno della settimana

  • %b
    Nome abbreviato del mese

  • %B
    Nome completo dei mesi

  • %c
    Rappresentazione di data e ora adatta alle impostazioni locali

  • %d
    Giorno del mese come numero decimale (da 01 a 31)

  • %H
    Ora in formato di 24 ore (00 – 23)

  • %I
    Ora 12 nel formato ora (da 01 a 12)

  • %j
    Giorno dell' anno come numero decimale (da 001 a 366)

  • %m
    Mese come numero decimale (da 01 a 12)

  • %M
    Minuti come numero decimale (da 00 a 59)

  • %p
    Il A.M. /P.M. corrente delle impostazioni locali.indicatore per l'orario in formato 12 ore

  • %S
    In secondo luogo come numero decimale (da 00 a 59)

  • %U
    Settimana dell' anno come numero decimale, con domenica come primo giorno della settimana (da 00 a 53)

  • %w
    Giorno della settimana come numero decimale (da 0 a 6; Domenica corrisponde a 0)

  • %W
    Settimana dell' anno come numero decimale, con lunedì come primo giorno della settimana (da 00 a 53)

  • %x
    Rappresentazione della data per le impostazioni locali correnti

  • %X
    rappresentazione di tempo per le impostazioni locali correnti

  • %y
    Anno senza secolo, come numero decimale (da 00 a 99)

  • %Y
    Anno con quattro cifre, come numero decimale

  • %z, %Z
    Qualsiasi il nome del fuso orario o un'abbreviazione del fuso orario, a seconda delle impostazioni del Registro di sistema, nessun caratteri se il fuso orario è sconosciuto

  • %%
    Simbolo di percentuale

Come nella funzione di printf , il flag di # possibile anteporre a tutto il codice di formattazione.In tal caso, il significato del codice di formato viene modificato come segue.

Codice formato

Significato

%#a, %#A, %#b, %#B, %#p, %#X, %#z, %#Z, %#%

il flag di# viene ignorato.

%#c

Lunga e ora la rappresentazione, appropriata per le impostazioni locali correnti.Ad esempio: “Martedì 14 marzo 1995, 12:41: 29".

%#x

La rappresentazione di data estesa, è appropriato per le impostazioni locali correnti.Ad esempio: “Martedì 14 marzo 1995„.

%#d, %#H, %#I, %#j, %#m, %#M, %#S, %#U, %#w, %#W, %#y, %#Y

Rimuovere gli zeri iniziali (se presente).

Requisiti

routine

Intestazione di associazione

strftime

<time.h>

wcsftime

<time.h> o <wchar.h>

_strftime_l

<time.h>

_wcsftime_l

<time.h> o <wchar.h>

Per informazioni di compatibilità aggiuntive, vedere compatibilità nell' introduzione.

Esempio

Vedere l'esempio relativo tempo.

Equivalente .NET Framework

Vedere anche

Riferimenti

Impostazioni locali

Gestione di tempo

Modifica delle stringhe (CRT)

localeconv

setlocale, _wsetlocale

funzioni di strcoll

strxfrm, wcsxfrm, _strxfrm_l, _wcsxfrm_l