DateTimeFormatter Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Formatta date e ore.
public ref class DateTimeFormatter sealed
/// [Windows.Foundation.Metadata.Activatable(Windows.Globalization.DateTimeFormatting.IDateTimeFormatterFactory, 65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class DateTimeFormatter final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(Windows.Globalization.DateTimeFormatting.IDateTimeFormatterFactory, 65536, "Windows.Foundation.UniversalApiContract")]
class DateTimeFormatter final
[Windows.Foundation.Metadata.Activatable(typeof(Windows.Globalization.DateTimeFormatting.IDateTimeFormatterFactory), 65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class DateTimeFormatter
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(typeof(Windows.Globalization.DateTimeFormatting.IDateTimeFormatterFactory), 65536, "Windows.Foundation.UniversalApiContract")]
public sealed class DateTimeFormatter
function DateTimeFormatter(yearFormat, monthFormat, dayFormat, dayOfWeekFormat, hourFormat, minuteFormat, secondFormat, languages, geographicRegion, calendar, clock)
Public NotInheritable Class DateTimeFormatter
- Ereditarietà
- Attributi
Requisiti Windows
Famiglia di dispositivi |
Windows 10 (è stato introdotto in 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (è stato introdotto in v1.0)
|
Esempio
Utilizzare la classe DateTimeFormatter per formattare una data.
// Format a date via a string template. Note that the order specifed in the string pattern does
// not determine the order of the parts of the formatted string. The user's language and region
// preferences will determine the pattern of the date returned based on the specified parts.
var formatter = new Windows.Globalization.DateTimeFormatting.DateTimeFormatter("month day dayofweek year");
DateTime dateToFormat = DateTime.Now;
var mydate = formatter.Format(dateToFormat);
Grammatica del modelloLa grammatica seguente definisce ciò che viene accettato per un modello:
<pattern> ::= [<literal-text>] <datetime-pattern> [<literal-text>] |
[<literal-text>] <datetime-pattern> <pattern>
<literal-text> ::= <literal-character>+
<literal-character> ::= [^{}] | "{openbrace}" | "{closebrace}"
<datetime-pattern> ::= <date-pattern> | <time-pattern>
<date-pattern> ::= <era> | <year> | <month> | <day> | <dayofweek>
<time-pattern> ::= <period> | <hour> | <minute> | <second> | <timezone>
<era> ::= "{era.abbreviated" [<ideal-length>] "}"
<year> ::= "{year.full" [<ideal-length>] "}" |
"{year.abbreviated" [<ideal-length>] "}"
<month> ::= "{month.full}" |
"{month.solo.full}" |
"{month.abbreviated" [<ideal-length>] "}"
"{month.solo.abbreviated" [<ideal-length>] "}"
"{month.integer" [<ideal-length>] "}"
<dayofweek> ::= "{dayofweek.full}" |
"{dayofweek.solo.full}" |
"{dayofweek.abbreviated" [<ideal-length>] "}"
"{dayofweek.solo.abbreviated" [<ideal-length>] "}"
<day> ::= "{day.integer" [<ideal-length>] "}"
<period> ::= "{period.abbreviated" [<ideal-length>] "}"
<hour> ::= "{hour.integer" [<ideal-length>] "}"
<minute> ::= "{minute.integer" [<ideal-length>] "}"
<second> ::= "{second.integer" [<ideal-length>] "}"
<timezone> ::= "{timezone.full}" |
"{timezone.abbreviated" [<ideal-length>] "}"
<ideal-length> ::= "(" <non-zero-digit> ")"
<non-zero-digit> ::= "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
Grammatica del modelloLa grammatica seguente definisce ciò che viene accettato per un modello:
<template> ::= <opt-whitespace> <date> <opt-whitespace> |
<opt-whitespace> <time> <opt-whitespace> |
<opt-whitespace> <specific-date> <whitespace> <time> <opt-whitespace> |
<opt-whitespace> <time> <whitespace> <specific-date> <opt-whitespace> |
<opt-whitespace> <relative-date> <whitespace> <time> <opt-whitespace> |
<opt-whitespace> <time> <whitespace> <relative-date> <opt-whitespace>
<opt-whitespace> ::= [<whitespace>]
<whitespace> ::= " "+
<date> ::= <year> | <month> | <day> | <month-year> | <relative-date> | <specific-date>
<relativedate> ::= <dayofweek> | <month-day> | <relative-longdate>
<specificdate> ::= <shortdate> | <longdate>
<month-day> ::= <month> <whitespace> <day> |
<day> <whitespace> <month>
<relative-longdate> ::= <month> <whitespace> <day> <whitespace> <dayofweek> |
<month> <whitespace> <dayofweek> <whitespace> <day> |
<day> <whitespace> <month> <whitespace> <dayofweek> |
<day> <whitespace> <dayofweek> <whitespace> <month> |
<dayofweek> <whitespace> <day> <whitespace> <month> |
<dayofweek> <whitespace> <month> <whitespace> <day>
<month-year> ::= <month> <whitespace> <year> |
<year> <whitespace> <month>
<shortdate> ::= "shortdate" |
<month> <whitespace> <day> <whitespace> <year> |
<month> <whitespace> <year> <whitespace> <day> |
<day> <whitespace> <month> <whitespace> <year> |
<day> <whitespace> <year> <whitespace> <month> |
<year> <whitespace> <day> <whitespace> <month> |
<year> <whitespace> <month> <whitespace> <day>
<longdate> ::= "longdate" |
<year> <whitespace> <month> <whitespace> <day> <whitespace> <dayofweek> |
<year> <whitespace> <month> <whitespace> <dayofweek> <whitespace> <day> |
<year> <whitespace> <day> <whitespace> <month> <whitespace> <dayofweek> |
<year> <whitespace> <day> <whitespace> <dayofweek> <whitespace> <month> |
<year> <whitespace> <dayofweek> <whitespace> <day> <whitespace> <month> |
<year> <whitespace> <dayofweek> <whitespace> <month> <whitespace> <day> |
<month> <whitespace> <year> <whitespace> <day> <whitespace> <dayofweek> |
<month> <whitespace> <year> <whitespace> <dayofweek> <whitespace> <day> |
<day> <whitespace> <year> <whitespace> <month> <whitespace> <dayofweek> |
<day> <whitespace> <year> <whitespace> <dayofweek> <whitespace> <month> |
<dayofweek> <whitespace> <year> <whitespace> <day> <whitespace> <month> |
<dayofweek> <whitespace> <year> <whitespace> <month> <whitespace> <day> |
<month> <whitespace> <day> <whitespace> <year> <whitespace> <dayofweek> |
<month> <whitespace> <dayofweek> <whitespace> <year> <whitespace> <day> |
<day> <whitespace> <month> <whitespace> <year> <whitespace> <dayofweek> |
<day> <whitespace> <dayofweek> <whitespace> <year> <whitespace> <month> |
<dayofweek> <whitespace> <day> <whitespace> <year> <whitespace> <month> |
<dayofweek> <whitespace> <month> <whitespace> <year> <whitespace> <day> |
<month> <whitespace> <day> <whitespace> <dayofweek> <whitespace> <year> |
<month> <whitespace> <dayofweek> <whitespace> <day> <whitespace> <year> |
<day> <whitespace> <month> <whitespace> <dayofweek> <whitespace> <year> |
<day> <whitespace> <dayofweek> <whitespace> <month> <whitespace> <year> |
<dayofweek> <whitespace> <day> <whitespace> <month> <whitespace> <year> |
<dayofweek> <whitespace> <month> <whitespace> <day> <whitespace> <year>
<time> ::= <hour> |
<hour> <whitespace> <timezone> |
<timezone> <whitespace> <hour> |
<shorttime> |
<longtime>
<shorttime> ::= "shorttime" |
<hour> <whitespace> <minute> |
<minute> <whitespace> <hour> |
<timezone> <whitespace> <hour> <whitespace> <minute> |
<timezone> <whitespace> <minute> <whitespace> <hour> |
<hour> <whitespace> <timezone> <whitespace> <minute> |
<minute> <whitespace> <timezone> <whitespace> <hour> |
<hour> <whitespace> <minute> <whitespace> <timezone> |
<minute> <whitespace> <hour> <whitespace> <timezone>
<longtime> ::= "longtime" |
<hour> <whitespace> <minute> <whitespace> <second> |
<hour> <whitespace> <second> <whitespace> <minute> |
<minute> <whitespace> <hour> <whitespace> <second> |
<minute> <whitespace> <second> <whitespace> <hour> |
<second> <whitespace> <minute> <whitespace> <hour> |
<second> <whitespace> <hour> <whitespace> <minute> |
<timezone> <whitespace> <hour> <whitespace> <minute> <whitespace> <second> |
<timezone> <whitespace> <hour> <whitespace> <second> <whitespace> <minute> |
<timezone> <whitespace> <minute> <whitespace> <hour> <whitespace> <second> |
<timezone> <whitespace> <minute> <whitespace> <second> <whitespace> <hour> |
<timezone> <whitespace> <second> <whitespace> <minute> <whitespace> <hour> |
<timezone> <whitespace> <second> <whitespace> <hour> <whitespace> <minute> |
<hour> <whitespace> <timezone> <whitespace> <minute> <whitespace> <second> |
<hour> <whitespace> <timezone> <whitespace> <second> <whitespace> <minute> |
<minute> <whitespace> <timezone> <whitespace> <hour> <whitespace> <second> |
<minute> <whitespace> <timezone> <whitespace> <second> <whitespace> <hour> |
<second> <whitespace> <timezone> <whitespace> <minute> <whitespace> <hour> |
<second> <whitespace> <timezone> <whitespace> <hour> <whitespace> <minute> |
<hour> <whitespace> <minute> <whitespace> <timezone> <whitespace> <second> |
<hour> <whitespace> <second> <whitespace> <timezone> <whitespace> <minute> |
<minute> <whitespace> <hour> <whitespace> <timezone> <whitespace> <second> |
<minute> <whitespace> <second> <whitespace> <timezone> <whitespace> <hour> |
<second> <whitespace> <minute> <whitespace> <timezone> <whitespace> <hour> |
<second> <whitespace> <hour> <whitespace> <timezone> <whitespace> <minute> |
<hour> <whitespace> <minute> <whitespace> <second> <whitespace> <timezone> |
<hour> <whitespace> <second> <whitespace> <minute> <whitespace> <timezone> |
<minute> <whitespace> <hour> <whitespace> <second> <whitespace> <timezone> |
<minute> <whitespace> <second> <whitespace> <hour> <whitespace> <timezone> |
<second> <whitespace> <minute> <whitespace> <hour> <whitespace> <timezone> |
<second> <whitespace> <hour> <whitespace> <minute> <whitespace> <timezone>
<year> ::= "year" | "year.full" | "year.abbreviated"
<month> ::= "month" | "month.full" | "month.abbreviated" | "month.numeric"
<day> ::= "day"
<dayofweek> ::= "dayofweek" | "dayofweek.full" | "dayofweek.abbreviated"
<hour> ::= "hour"
<minute> ::= "minute"
<second> ::= "second"
<timezone> ::= "timezone" | "timezone.full" | "timezone.abbreviated"
Commenti
Nota
Questa API viene aggiornata per supportare la modifica dell'era giapponese di maggio 2019. Se l'applicazione supporta il calendario giapponese, è necessario verificare che gestisca correttamente la nuova era. Per altre informazioni, vedere Preparare l'applicazione per la modifica dell'era giapponese .
Nota
Se l'app passa tag di lingua usati in questa classe a qualsiasi funzione di supporto per il linguaggio nazionale , deve prima convertire i tag chiamando ResolveLocaleName.
Alcuni costruttori per DateTimeFormatter accettano un parametro di stringa formatTemplate che specifica i componenti richiesti da formattare. Questo parametro può essere un modello di formato o un modello di formato. I modelli di formato sono utili per usare e fornire la formattazione tipica per la lingua, l'orologio e il calendario specificati. I modelli di formato offrono un maggiore controllo dell'output rispetto ai modelli di formato. Se è necessaria la formattazione non standard, usare i modelli di formato anziché i modelli.
In un modello di formato specificare i componenti (ora, data, giorno della settimana e così via) da includere nell'output formattato. Il formattatore formatta i componenti in base alla lingua, all'orologio e al calendario specificati. L'ordine dei componenti nel modello non è rilevante; il formattatore ordina i componenti in base all'ordine indicato nella lingua del modello di formato seguente.
Nella tabella seguente sono elencati alcuni modelli di uso comune. Nei modelli con più componenti, il componente può essere una delle varianti di componente supportate e i componenti possono essere in qualsiasi ordine. Ad esempio, "dayofweek.full year month.numeric day" è supportato. Vedere di seguito, dopo gli esempi, per la grammatica che definisce modelli validi.
Importante
Non è possibile combinare arbitrariamente i componenti e ottenere necessariamente un modello valido. Gli unici modelli validi sono quelli definiti dalla grammatica fornita.
Modello |
---|
longdate |
shortdate |
longtime |
shorttime |
dayofweek |
dayofweek.full |
dayofweek.abbreviato |
day |
month |
month.full |
month.abbreviated |
month.numeric |
anno |
year.full |
year.abbreviated |
dayofweek giorno mese anno |
dayofweek giorno mese |
giorno mese anno |
giorno mese |
mese anno |
hour |
minute |
second |
ora minuto secondo |
hour minute |
timezone |
timezone.full |
timezone.abbreviato |
year month day hour |
La tabella seguente mostra l'output di esempio dei formattatori creati con vari valori di modello, lingua e orologio. La colonna "Modello equivalente" fornisce un modello che produce lo stesso output del modello.
Modello | Linguaggio | Orologio | Output | Modello equivalente |
---|---|---|---|---|
longdate | it-IT | <non specificato> | Lunedì 2 settembre 2013 | {dayofweek.full}, {month.full} {day.integer}, {year.full} |
longdate | fr-FR | <non specificato> | lundi 2 settembre 2013 | {dayofweek.full} {day.integer} {month.full} {year.full} {year.full} |
shortdate | it-IT | <non specificato> | 9/2/2013 | {month.integer}/{day.integer}/{year.full} |
shortdate | fr-FR | <non specificato> | 02/09/2013 | {day.integer(2)}/{month.integer(2)}/{year.full} |
giornoofweek mese giorno | it-IT | <non specificato> | Lunedì 2 settembre | {dayofweek.full}, {month.full} {day.integer} |
mese giorno di giornoofweek | it-IT | <non specificato> | Lunedì 2 settembre | {dayofweek.full}, {month.full} {day.integer} |
molto tempo | it-IT | <non specificato> | 6:01:24 | {hour.integer}:{minute.integer(2)}:{second.integer(2)} {period.abbreviated} |
molto tempo | it-IT | 24HourClock | 17:32:45 | {hour.integer}:{minute.integer(2)}:{second.integer(2)} |
molto tempo | fr-FR | <non specificato> | 17:32:45 | {hour.integer(2)}:{minute.integer(2)}:{second.integer(2)} |
shorttime | it-IT | <non specificato> | 6:01 AM | {hour.integer}:{minute.integer(2)} {period.abbreviated} |
shorttime | it-IT | 24HourClock | 17:32 | {hour.integer}:{minute.integer(2)} |
shorttime | fr-FR | <non specificato> | 17:32 | {hour.integer(2)}:{minute.integer(2)} |
I modelli di formato sono costituiti da una stringa letterale con campi delimitati da parentesi graffe, ad esempio "{day.numeric}/{month.numeric}/{year.full}". Nella tabella seguente sono elencati alcuni campi comunemente usati. Vedere di seguito, dopo gli esempi, per la grammatica che definisce modelli validi.
Importante
Non è possibile combinare arbitrariamente i campi e ottenere necessariamente un modello valido. Gli unici modelli validi sono quelli definiti dalla grammatica specificata.
Campo Modello di formato |
---|
{openbrace} |
{closebrace} |
{dayofweek.solo.<type>} dove <il tipo> è full/abbreviato/abbreviato(n) |
{dayofweek.<type>} dove <il tipo> è full/abbreviato/abbreviato(n) |
{giorno.<type>} dove <il tipo> è integer/integer(n) |
{mese.<type>} dove <il tipo> è completo/abbreviato/abbreviato(n) / integer/integer(n) |
{month.solo.<type>} dove <il tipo> è full/abbreviato/abbreviato(n) |
{anno.<type>} dove <il tipo> è full/abbreviato/abbreviato(n) |
{era.<type>} dove <il tipo> è full/abbreviato/abbreviato(n) |
{ora.<type>} dove <il tipo> è integer/integer(n) |
{periodo.<type>} dove <il tipo> è full/abbreviato/abbreviato(n) |
{minute.<type>} dove <il tipo> è integer/integer(n) |
{secondo.<type>} dove <il tipo> è integer/integer(n) |
{fuso orario.<type>} dove <il tipo> è full/abbreviato/abbreviato(n) |
Nota
- Usare {openbrace} o {closebrace} per specificare che "{" o "}" viene visualizzato come parte della stringa letterale.
- solo specifica il modulo autonomo. Per le lingue con distinzione tra maiuscole e minuscole, il caso genitivo è il caso non contrassegnato. Per ottenere il caso nominativo, usare solo.
- integer(2) per il quinto giorno del mese (ad esempio) è "05", mentre integer(1) produce "5". integer produce la migliore n per una determinata combinazione di linguaggio/calendario.
- Per anni, il totale produce tutte le cifre ("2013"). abbreviato è sinonimo di abbreviato(2), che è l'anno a 2 cifre per il calendario gregoriano ("13"). Altri calendari possono eventualmente usare qualcos'altro come impostazione predefinita. È stato mantenuto abbreviato per avere la semantica ottimale per una determinata combinazione di linguaggio/calendario. abbreviato(n) viene troncato alle cifre n meno significative (ad esempio, 2013 con n =1 è "3").
La tabella seguente mostra l'output di esempio dei formattatori creati con vari valori di modello, lingua e orologio.
Modello | Linguaggio | Orologio | Output |
---|---|---|---|
{dayofweek.full}, {month.full} {day.integer}, {year.full} | it-IT | <non specificato> | Lunedì 2 settembre 2013 |
{dayofweek.full}, {day.integer(2)} {month.full}, {year.full} | fr-FR | <non specificato> | lundi, 02 settembre 2013 |
{month.integer}/{day.integer}/{year.full} | it-IT | <non specificato> | 9/2/2013 |
{month.integer}/{day.integer}/{year.abbreviated} | it-IT | <non specificato> | 9/2/13 |
{month.integer(2)}/{day.integer(2)}/{year.abbreviated} | it-IT | <non specificato> | 09/02/13 |
{hour.integer}:{minute.integer(2)}:{second.integer(2)} {period.abbreviated} | it-IT | <non specificato> | 6:01:24 |
{hour.integer}:{minute.integer(2)}:{second.integer(2)} {period.abbreviated} | it-IT | 24HourClock | 17:32:45 |
Costruttori
Proprietà
Calendar |
Ottiene il calendario utilizzato per la formattazione delle date. |
Clock |
Ottiene l'orologio utilizzato durante la formattazione. |
GeographicRegion |
Ottiene o imposta l'area utilizzata per la formattazione di date e ore. |
IncludeDay |
Ottiene DayFormat nel modello. |
IncludeDayOfWeek |
Ottiene dayOfWeekFormat nel modello. |
IncludeHour |
Ottiene HourFormat nel modello. |
IncludeMinute |
Ottiene MinuteFormat nel modello. |
IncludeMonth |
Ottiene MonthFormat nel modello. |
IncludeSecond |
Ottiene secondFormat nel modello. |
IncludeYear |
Ottiene YearFormat nel modello. |
Languages |
Ottiene l'elenco di priorità degli identificatori di lingua utilizzati durante la formattazione di date e ore. |
LongDate |
Ottiene l'oggetto DateTimeFormatter che formatta le date in base alla scelta del modello di data estesa dell'utente. |
LongTime |
Ottiene l'oggetto DateTimeFormatter che formatta le ore in base alla scelta del modello di tempo lungo dell'utente. |
NumeralSystem |
Ottiene o imposta il sistema di numerazione utilizzato per formattare date e ore. |
Patterns |
Ottiene i modelli corrispondenti a questo modello utilizzati durante la formattazione di date e ore. |
ResolvedGeographicRegion |
Ottiene l'area geografica utilizzata più di recente per formattare date e ore. |
ResolvedLanguage |
Ottiene la lingua utilizzata più di recente per formattare date e ore. |
ShortDate |
Ottiene l'oggetto DateTimeFormatter che formatta le date in base alla scelta del modello di data breve dell'utente. |
ShortTime |
Ottiene l'oggetto DateTimeFormatter che formatta le ore in base al modello di tempo breve scelto dall'utente. |
Template |
Ottiene una rappresentazione di stringa di questo modello di formato. |
Metodi
Format(DateTime) |
Restituisce una rappresentazione di stringa della data e dell'ora specificate. |
Format(DateTime, String) |
Restituisce una stringa che rappresenta la data e l'ora specificati nel fuso orario specificato, conforme al modello utilizzato dal formattatore. |