DateTimeFormatter Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Met en forme les dates et les heures.
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
- Héritage
- Attributs
Configuration requise pour Windows
Famille d’appareils |
Windows 10 (introduit dans 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduit dans v1.0)
|
Exemples
Utilisez la classe DateTimeFormatter pour mettre en forme une date.
// 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);
Grammaire de modèleLa grammaire suivante définit ce qui est accepté pour un modèle :
<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"
Grammaire du modèleLa grammaire suivante définit ce qui est accepté pour un modèle :
<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"
Remarques
Notes
Cette API est en cours de mise à jour pour prendre en charge le changement d’ère japonaise de mai 2019. Si votre application prend en charge le calendrier japonais, vous devez vérifier qu’elle gère correctement la nouvelle ère. Pour plus d’informations, consultez Préparer votre application pour la modification de l’ère japonaise .
Notes
Si votre application transmet les balises de langue utilisées dans cette classe à des fonctions de support linguistique national , elle doit d’abord convertir les balises en appelant ResolveLocaleName.
Certains constructeurs pour DateTimeFormatter prennent un paramètre de chaîne formatTemplate qui spécifie les composants demandés à mettre en forme. Ce paramètre peut être un modèle de format ou un modèle de format. Les modèles de format sont pratiques à utiliser et à fournir une mise en forme qui est typique de la langue, de l’horloge et du calendrier que vous spécifiez. Les modèles de format offrent un meilleur contrôle de la sortie que les modèles de format. Si vous avez besoin d’une mise en forme non standard, utilisez des modèles de format au lieu de modèles.
Dans un modèle de format, vous spécifiez les composants (heure, date, jour de la semaine, etc.) que vous souhaitez inclure dans la sortie mise en forme. Le formateur met en forme les composants en fonction de la langue, de l’horloge et du calendrier spécifiés. L’ordre des composants dans votre modèle n’a pas d’importance ; le formateur trie les composants en fonction de l’ordre indiqué dans la langue du modèle de format ci-dessous.
Certains modèles couramment utilisés sont répertoriés dans le tableau suivant. Dans les modèles avec plusieurs composants, le composant peut être l’une des variantes de composant prises en charge et les composants peuvent être dans n’importe quel ordre. Par exemple, « dayofweek.full year month.numeric day » est pris en charge. (Voir ci-dessous, après les exemples, pour connaître la grammaire qui définit des modèles valides.)
Important
Vous ne pouvez pas combiner arbitrairement des composants et nécessairement obtenir un modèle valide. Les seuls modèles valides sont ceux définis par la grammaire fournie.
Modèle |
---|
longdate |
shortdate |
Longue |
shorttime |
dayofweek |
dayofweek.full |
dayofweek.abbreviated |
day |
month |
month.full |
month.abbreviated |
month.numeric |
year |
year.full |
year.abbreviated |
dayofweek day month year |
dayofweek day month |
jour mois année |
jour mois |
month year |
hour |
minute |
second |
heure minute seconde |
heure minute |
timezone |
timezone.full |
timezone.abbreviated |
année mois jour heure |
Le tableau suivant présente l’exemple de sortie des formateurs créés avec différentes valeurs de modèle, de langue et d’horloge. La colonne « Modèle équivalent » fournit un modèle qui produit la même sortie que le modèle.
Modèle | Language | Horloge | Sortie | Modèle équivalent |
---|---|---|---|---|
longdate | fr-FR | <non spécifié> | lundi 2 septembre 2013 | {dayofweek.full}, {month.full} {day.integer}, {year.full} |
longdate | fr-FR | <non spécifié> | lundi 2 septembre 2013 | {dayofweek.full} {day.integer} {month.full} {year.full} |
shortdate | fr-FR | <non spécifié> | 9/2/2013 | {month.integer}/{day.integer}/{year.full} |
shortdate | fr-FR | <non spécifié> | 02/09/2013 | {day.integer(2)}/{month.integer(2)}/{year.full} |
dayofweek mois jour | fr-FR | <non spécifié> | Lundi 2 septembre | {dayofweek.full}, {month.full} {day.integer} |
jour de mois dayofweek | fr-FR | <non spécifié> | Lundi 2 septembre | {dayofweek.full}, {month.full} {day.integer} |
Longue | fr-FR | <non spécifié> | 06:01:24 AM | {hour.integer}:{minute.integer(2)}:{second.integer(2)} {period.abbreviated} |
Longue | fr-FR | 24HourClock | 17:32:45 | {hour.integer}:{minute.integer(2)}:{second.integer(2)} |
Longue | fr-FR | <non spécifié> | 17:32:45 | {hour.integer(2)}:{minute.integer(2)}:{second.integer(2)} |
shorttime | fr-FR | <non spécifié> | 6:01 | {hour.integer}:{minute.integer(2)} {period.abbreviated} |
shorttime | fr-FR | 24HourClock | 17:32 | {hour.integer}:{minute.integer(2)} |
shorttime | fr-FR | <non spécifié> | 17:32 | {hour.integer(2)}:{minute.integer(2)} |
Les modèles de format sont composés d’une chaîne littérale avec des champs délimités par des accolades, telles que « {day.numeric}/{month.numeric}/{year.full} ». Certains champs couramment utilisés sont répertoriés dans le tableau suivant. (Voir ci-dessous, après les exemples, pour connaître la grammaire qui définit des modèles valides.)
Important
Vous ne pouvez pas combiner arbitrairement des champs et obtenir nécessairement un modèle valide. Les seuls modèles valides sont ceux définis par la grammaire fournie.
Champ Modèle de mise en forme |
---|
{openbrace} |
{closebrace} |
{dayofweek.solo.<type>} où <type> est complet / abbreviated / abbreviated(n) |
{dayofweek.<type>} où <type> est complet / abbreviated / abbreviated(n) |
{day.<type>} où <type> est entier / integer(n) |
{month.<type>} où <type> est complet / abbreviated / abbreviated(n) / integer / integer(n) |
{month.solo.<type>} où <type> est complet / abbreviated / abbreviated(n) |
{year.<type>} où <type> est complet / abbreviated / abbreviated(n) |
{era.<type>} où <type> est complet / abbreviated / abbreviated(n) |
{hour.<type>} où <type> est entier / integer(n) |
{period.<type>} où <type> est complet / abbreviated / abbreviated(n) |
{minute.<type>} où <type> est entier / integer(n) |
{seconde.<type>} où <type> est entier / integer(n) |
{fuseau horaire.<type>} où <type> est complet / abbreviated / abbreviated(n) |
Notes
- Utilisez {openbrace} ou {closebrace} pour spécifier que « { » ou « } » s’affiche dans la chaîne littérale.
- solo spécifie le formulaire autonome. Pour les langues avec des distinctions de cas génitifs, le cas génitif est le cas non marqué. Pour obtenir le cas nominatif, utilisez solo.
- integer(2) pour le cinquième jour du mois (par exemple) est « 05 », tandis que integer(1) produit « 5 ». integer produit le meilleur n pour une combinaison langue/calendrier donnée.
- Pendant des années, full produit tous les chiffres (« 2013 »). abbreviated est synonyme de abbreviated(2), qui est l’année à 2 chiffres pour le calendrier grégorien (« 13 »). (D’autres calendriers peuvent éventuellement utiliser autre chose comme valeur par défaut ; nous avons conservé la sémantique du meilleur pour une combinaison de langue/calendrier donnée.) abbreviated(n) est tronqué aux n chiffres les moins significatifs (par exemple, 2013 avec n =1 est « 3 »).
Le tableau suivant montre un exemple de sortie à partir de formateurs créés avec différentes valeurs de modèle, de langue et d’horloge.
Modèle | Langage | Horloge | Sortie |
---|---|---|---|
{dayofweek.full}, {month.full} {day.integer}, {year.full} | fr-FR | <non spécifié> | lundi 2 septembre 2013 |
{dayofweek.full}, {day.integer(2)} {month.full}, {year.full} | fr-FR | <non spécifié> | lundi, 02 septembre, 2013 |
{month.integer}/{day.integer}/{year.full} | fr-FR | <non spécifié> | 9/2/2013 |
{month.integer}/{day.integer}/{year.abbreviated} | fr-FR | <non spécifié> | 9/2/13 |
{month.integer(2)}/{day.integer(2)}/{year.abbreviated} | fr-FR | <non spécifié> | 09/02/13 |
{hour.integer}:{minute.integer(2)}:{second.integer(2)} {period.abbreviated} | fr-FR | <non spécifié> | 06:01:24 AM |
{hour.integer}:{minute.integer(2)}:{second.integer(2)} {period.abbreviated} | fr-FR | 24HourClock | 17:32:45 |
Constructeurs
Propriétés
Calendar |
Obtient le calendrier utilisé lors de la mise en forme des dates. |
Clock |
Obtient l’horloge utilisée lors de la mise en forme des heures. |
GeographicRegion |
Obtient ou définit la région utilisée lors de la mise en forme des dates et des heures. |
IncludeDay |
Obtient la valeur DayFormat dans le modèle. |
IncludeDayOfWeek |
Obtient le DayOfWeekFormat dans le modèle. |
IncludeHour |
Obtient le HourFormat dans le modèle. |
IncludeMinute |
Obtient le MinuteFormat dans le modèle. |
IncludeMonth |
Obtient le MonthFormat dans le modèle. |
IncludeSecond |
Obtient le SecondFormat dans le modèle. |
IncludeYear |
Obtient la valeur YearFormat dans le modèle. |
Languages |
Obtient la liste de priorité des identificateurs de langue utilisés lors de la mise en forme des dates et des heures. |
LongDate |
Obtient l’objet DateTimeFormatter qui met en forme les dates en fonction du choix du modèle de date longue de l’utilisateur. |
LongTime |
Obtient l’objet DateTimeFormatter qui met en forme les heures en fonction du choix de l’utilisateur en fonction du modèle de temps long. |
NumeralSystem |
Obtient ou définit le système de numérotation utilisé pour mettre en forme les dates et les heures. |
Patterns |
Obtient les modèles correspondant à ce modèle qui sont utilisés lors de la mise en forme des dates et des heures. |
ResolvedGeographicRegion |
Obtient la région géographique qui a été utilisée le plus récemment pour mettre en forme les dates et les heures. |
ResolvedLanguage |
Obtient la langue qui a été utilisée le plus récemment pour mettre en forme des dates et des heures. |
ShortDate |
Obtient l’objet DateTimeFormatter qui met en forme les dates en fonction du choix de l’utilisateur de modèle de date courte. |
ShortTime |
Obtient l’objet DateTimeFormatter qui met en forme les heures en fonction du modèle de temps court choisi par l’utilisateur. |
Template |
Obtient une représentation sous forme de chaîne de ce modèle de format. |
Méthodes
Format(DateTime) |
Retourne une représentation sous forme de chaîne de la date et de l’heure fournies. |
Format(DateTime, String) |
Retourne une chaîne qui représente la date et l’heure spécifiées dans le fuseau horaire donné, conformément au modèle que le formateur utilise actuellement. |