Recupero di informazioni sull'ora e sulla data

Questo argomento include istruzioni per l'uso delle funzioni NLS nelle applicazioni per recuperare informazioni sull'ora e sulla data , nonché i dati sulla durata. Se l'applicazione deve rendere persistenti i dati, vedere Uso di dati locali persistenti.

Windows Vista e versioni successive: Le funzioni illustrate in questo argomento possono recuperare i dati dalle impostazioni locali personalizzate. In particolare, possono essere usati per personalizzare i formati di ora e data. Ad esempio, è possibile avere un formato temporale, ad esempio "hhHmm'ss", causando stringhe temporali come "12H34'12'".

Recuperare le informazioni sul tempo

L'applicazione può ottenere stringhe per qualsiasi momento in un formato appropriato per le impostazioni locali correnti usando le funzioni GetTimeFormat e GetTimeFormatEx. Entrambe le funzioni controllano ognuno dei valori temporali in una struttura SYSTEMTIME valida per determinare che si trova all'interno dell'intervallo appropriato di valori, ignorando le parti di data della struttura. Se uno dei valori temporali non è compreso nell'intervallo corretto, la funzione ha esito negativo con il codice ERROR_INVALID_PARAMETER. La funzione non restituisce errori per una stringa di formato non valida, ma forma semplicemente la stringa di tempo migliore possibile.

Nota

Le funzioni di ora NLS non includono millisecondi come parte di una stringa di tempo formattata.

 

Per ottenere il formato temporale senza eseguire alcuna formattazione effettiva, l'applicazione può usare la funzione GetLocaleInfo o GetLocaleInfoEx, specificando la costante LOCALE_STIMEFORMAT nella chiamata.

Usare i marcatori temporali

Esempi di indicatori temporali sono "AM" e "PM" per l'inglese (Stati Uniti) e "de." e "du". per spagnolo (Messico). Se TIME_NOTIMEMARKER viene specificato nella chiamata a GetTimeFormat o GetTimeFormatEx, la funzione rimuove i separatori precedenti e seguendo il marcatore temporale. Se esiste un indicatore di tempo e il flag di TIME_NOTIMEMARKER non è impostato nella chiamata, la funzione localizza il marcatore temporale in base all'identificatore delle impostazioni locali specificato.

Rimuovere separatori precedenti minuti e secondi

L'applicazione può chiamare GetTimeFormat o GetTimeFormatEx con TIME_NOMINUTESORSECONDS o TIME_NOSECONDS specificata per rimuovere i separatori seguenti gli elementi minuti e/o secondi.

Usare il formato ora 24 ore

Se l'applicazione supporta il formato di ora 24 ore, può chiamare GetTimeFormat o GetTimeFormatEx con TIME_FORCE24HOURFORMAT. A meno che non sia impostato il flag TIME_NOTIMEMARKER, la funzione visualizza qualsiasi marcatore temporale esistente.

Recuperare le informazioni sulla data

Un'applicazione può recuperare stringhe per qualsiasi data in un formato appropriato per le impostazioni locali correnti usando le funzioni GetDateFormat e GetDateFormatEx. Entrambe le funzioni controllano ognuno dei valori di data anno, mese, giorno e giorno della settimana in una struttura SYSTEMTIME valida, ignorando le parti temporali della struttura. Il nome del giorno, il nome abbreviato del giorno, il nome del mese e il nome del mese abbreviato sono tutti localizzati in base all'identificatore delle impostazioni locali. Se il giorno della settimana non è corretto, la funzione usa il valore corretto e non restituisce alcun errore. Se uno degli altri valori di data non è compreso nell'intervallo corretto, la funzione ha esito negativo con il codice ERROR_INVALID_PARAMETER. La funzione non restituisce errori per una stringa di formato non valida, ma forma semplicemente la stringa di data migliore possibile.

Se l'applicazione richiede il formato di data per un calendario specifico, deve usare GetCalendarInfo o GetCalendarInfoEx, passando l'identificatore di calendario appropriato. Per restituire tutti i formati di data per un calendario specifico, l'applicazione può usare EnumCalendarInfoEx, EnumCalendarInfoEx, EnumDateFormatsEx o EnumDateFormatsExEx.

Specificare un calendario alternativo

L'applicazione può chiamare GetDateFormat o GetDateFormatEx con il flag DATE_USE_ALT_CALENDAR per usare il formato predefinito per il calendario alternativo specificato. Se non esiste alcun formato predefinito per il calendario alternativo, la funzione usa l'override dell'utente.

Per ottenere il formato data per un calendario alternativo, l'applicazione può usare GetLocaleInfo o GetLocaleInfoEx con la costante LOCALE_IOPTIONALCALENDAR.

Specificare il tipo di data

Se l'applicazione vuole usare il formato data breve, specifica DATE_SHORTDATE nella chiamata a GetDateFormat o GetDateFormatEx. È possibile ottenere un formato di data lunga specificando DATE_LONGDATE nella chiamata alla funzione. Se non viene specificato alcun flag e lpFormat è impostato su NULL, la funzione usa DATE_SHORTDATE come impostazione predefinita.

Per ottenere il formato di data breve e lungo per il calendario delle impostazioni locali predefinite, l'applicazione deve usare la funzione GetLocaleInfo o GetLocaleInfoEx con la costante LOCALE_SSHORTDATE o LOCALE_SLONGDATE.

Specificare l'immagine formato data

L'applicazione può specificare un'immagine di formato data usata da GetDateFormat o GetDateFormatEx per formare la stringa di data. Se è necessario il formato di data per le impostazioni locali specificate, l'applicazione può chiamare la funzione con lpFormat impostata su NULL. Se il parametro non è impostato su NULL, la funzione usa le impostazioni locali solo per informazioni non specificate nella stringa di immagine di formato, ad esempio i nomi giorno e mese per le impostazioni locali.

L'applicazione può racchiudere qualsiasi testo che deve rimanere nel formato esatto all'interno di virgolette singole. Una singola virgolette può essere usata anche come carattere di escape per consentire la visualizzazione del contrassegno stesso nella stringa di data. Tuttavia, la sequenza di escape deve essere racchiusa tra due virgolette singole. Ad esempio, per visualizzare la data come "Maggio '93", la stringa di formato è : "MMMM 'y".

Recuperare le informazioni sulla durata

Windows Vista e versioni successive: Le funzioni GetDurationFormat e GetDurationFormatEx sono disponibili per ottenere formati di durata per le impostazioni locali, incluse le impostazioni locali personalizzate. Per ottenere il formato di durata predefinito per le impostazioni locali, l'applicazione deve usare la funzione GetLocaleInfo o GetLocaleInfoEx con la costante LOCALE_SDURATION.

Uso del supporto per la lingua nazionale

Ora e data

Uso dei dati delle impostazioni locali persistenti