Chaînes de format de date et d'heure standard
Mise à jour : novembre 2007
Une chaîne de format de date et d'heure standard utilise un spécificateur de format standard unique pour définir la représentation textuelle d'une valeur de date et d'heure produite par une opération de mise en forme. Toute chaîne de format de date et d'heure contenant plusieurs caractères, y compris un espace blanc, est interprétée comme une chaîne de format de date et d'heure personnalisée.
Remarque : |
---|
Les chaînes de format de date et d'heure standard peuvent être utilisées avec les valeurs DateTime et DateTimeOffset. |
Fonctionnement des chaînes de format standard
Une chaîne de format standard constitue simplement un alias d'une chaîne de format personnalisée. L'utilisation d'un alias pour faire référence à une chaîne de format personnalisée présente l'avantage suivant : alors que l'alias reste indifférent, la chaîne de format personnalisée peut varier. Ce point est important car les représentations sous forme de chaîne de valeurs de date et d'heure varient généralement selon la culture. Par exemple, la chaîne de format standard d indique qu'une valeur de date et d'heure sera affichée à l'aide d'un modèle de date courte. Pour la culture indifférente, ce modèle est "MM/dd/yyyy". Pour la culture fr-FR, il s'agit de "dd/MM/yyyy". Pour la culture ja-JP, il s'agit de "yyyy/MM/dd".
Si une chaîne de format standard est mappée à une chaîne de format personnalisée d'une culture particulière, votre application peut définir la culture spécifique dont les chaînes de format personnalisées sont utilisées de l'une des manières suivantes :
Vous pouvez utiliser la culture par défaut (ou actuelle). L'exemple suivant affiche une date à l'aide du format de date courte de la culture actuelle. Dans ce cas, la culture actuelle est en-US.
' Display using current (en-us) culture's short date format Dim thisDate As Date = #03/15/2008# Console.WriteLine(thisDate.ToString("d")) ' Displays 3/15/2008
// Display using current (en-us) culture's short date format DateTime thisDate = new DateTime(2008, 3, 15); Console.WriteLine(thisDate.ToString("d")); // Displays 3/15/2008
Vous pouvez passer un objet CultureInfo représentant la culture dont la mise en forme sera utilisée à une méthode avec un paramètre IFormatProvider. L'exemple suivant affiche une date à l'aide du format de date courte de la culture pt-BR.
' Display using pt-BR culture's short date format Dim thisDate As Date = #03/15/2008# Dim culture As New CultureInfo("pt-BR") Console.WriteLine(thisDate.ToString("d", culture)) ' Displays 15/3/2008
// Display using pt-BR culture's short date format DateTime thisDate = new DateTime(2008, 3, 15); CultureInfo culture = new CultureInfo("pt-BR"); Console.WriteLine(thisDate.ToString("d", culture)); // Displays 15/3/2008
Vous pouvez passer un objet DateTimeFormatInfo qui fournit des informations de mise en forme à une méthode avec un paramètre IFormatProvider. L'exemple suivant affiche une date à l'aide du format de date courte d'un objet DateTimeFormatInfo pour la culture hr-HR.
' Display using date format information from hr-HR culture Dim thisDate As Date = #03/15/2008# Dim fmt As DateTimeFormatInfo = (New CultureInfo("hr-HR")).DateTimeFormat Console.WriteLine(thisDate.ToString("d", fmt)) ' Displays 15.3.2008
// Display using date format information from hr-HR culture DateTime thisDate = new DateTime(2008, 3, 15); DateTimeFormatInfo fmt = (new CultureInfo("hr-HR")).DateTimeFormat; Console.WriteLine(thisDate.ToString("d", fmt)); // Displays 15.3.2008
Dans certains cas, il est pratique d'utiliser la chaîne de format standard comme abréviation pour les chaînes de format personnalisées plus longues et indifférentes. Quatre chaînes de format standard appartiennent à cette catégorie : O (ou o), R (ou r), s et u. Ces chaînes correspondent aux chaînes de format personnalisées définies par la culture indifférente. Elles produisent des représentations sous forme de chaîne de valeurs de date et d'heure destinées à être identiques dans toutes les cultures. Le tableau suivant fournit des informations sur ces quatre spécificateurs de format de date et d'heure standard.
Chaîne de format standard |
Défini par la propriété DateTimeFormatInfo.InvariantInfo |
Chaîne de format personnalisée |
---|---|---|
O ou o |
aucun |
yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffzz |
R ou r |
RFC1123Pattern |
ddd, dd MMM yyyy HH':'mm':'ss 'GMT' |
s |
SortableDateTimePattern |
yyyy'-'MM'-'dd'T'HH':'mm':'ss |
u |
UniversalSortableDateTimePattern |
yyyy'-'MM'-'dd HH':'mm':'ss'Z' |
Spécificateurs de format de date et d'heure standard
Le tableau suivant décrit les spécificateurs de format de date et d'heure standard. Sauf indication contraire, un spécificateur de format de date et d'heure standard particulier produit une représentation sous forme de chaîne identique, qu'il soit utilisé avec une valeur DateTime ou une valeur DateTimeOffset.
Spécificateur de format |
Nom |
Description |
---|---|---|
d |
Modèle de date courte |
Représente une chaîne de format de date et d'heure personnalisée définie par la propriété ShortDatePattern en cours. Par exemple, la chaîne de format personnalisée retournée par la propriété ShortDatePattern de la culture indifférente est "MM/dd/yyyy". L'exemple suivant utilise le spécificateur de format d pour afficher une valeur de date et d'heure.
|
D |
Modèle de date longue |
Représente une chaîne de format de date et d'heure personnalisée définie par la propriété LongDatePattern en cours. Par exemple, la chaîne de format personnalisée pour la culture indifférente est "dddd, dd MMMM yyyy". L'exemple suivant utilise le spécificateur de format D pour afficher une valeur de date et d'heure.
|
f |
Modèle de date/heure complet (heure abrégée) |
Représente une combinaison des modèles de date longue (D) et d'heure abrégée (t), séparés par un espace. L'exemple suivant utilise le spécificateur de format f pour afficher une valeur de date et d'heure.
|
F |
Modèle de date/heure complet (heure complète) |
Représente une chaîne de format de date et d'heure personnalisée définie par la propriété FullDateTimePattern en cours. Par exemple, la chaîne de format personnalisée pour la culture indifférente est "dddd, dd MMMM yyyy HH:mm:ss". L'exemple suivant utilise le spécificateur de format F pour afficher une valeur de date et d'heure.
|
g |
Modèle de date/heure général (heure abrégée) |
Représente une combinaison des modèles de date courte (d) et d'heure abrégée (t), séparés par un espace. L'exemple suivant utilise le spécificateur de format g pour afficher une valeur de date et d'heure.
|
G |
Modèle de date/heure général (heure complète) |
Représente une combinaison des modèles de date courte (d) et d'heure complète (T), séparés par un espace. L'exemple suivant utilise le spécificateur de format G pour afficher une valeur de date et d'heure.
|
M, m |
Modèle de mois-jour |
Représente une chaîne de format de date et d'heure personnalisée définie par la propriété MonthDayPattern en cours. Par exemple, la chaîne de format personnalisée pour la culture indifférente est "MMMM dd". L'exemple suivant utilise le spécificateur de format G pour afficher une valeur de date et d'heure.
|
O, o |
Modèle de date/heure aller-retour |
Représente une chaîne de format de date et d'heure personnalisée à l'aide d'un modèle qui conserve les informations de fuseau horaire. Pour les valeurs DateTime, ce spécificateur de format est conçu pour conserver des valeurs de date et d'heure avec la propriété Kind dans le texte. Ensuite, la chaîne mise en forme peut de nouveau être analysée à l'aide de Parse ou ParseExact avec la valeur de propriété Kind correcte. La chaîne de format personnalisée est "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK" pour les valeurs DateTime et "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffzzz" pour les valeurs DateTimeOffset. Dans cette chaîne, les paires d'apostrophes qui délimitent les différents caractères, comme les traits d'union, les deux-points et la lettre « T », indiquent que le caractère individuel est un littéral qui ne peut pas être modifié. Les apostrophes elles-mêmes n'apparaissent pas dans la chaîne de sortie. Pour ce spécificateur, le modèle reflète un standard défini (ISO 8601). Par conséquent, il s'agit toujours du même, quels que soient la culture utilisée ou le fournisseur de format spécifié. Les chaînes passées à la méthode Parse ou ParseExact doivent se conformer exactement à ce modèle de format personnalisé, ou une FormatException est levée. Lorsque ce spécificateur de format standard est utilisé, l'opération de mise en forme ou d'analyse utilise toujours la culture indifférente. L'exemple suivant utilise le spécificateur de format o pour afficher une valeur DateTime et une valeur DateTimeOffset sur un système situé dans le fuseau horaire Pacifique (États-Unis).
|
R, r |
Modèle RFC1123 |
Représente une chaîne de format de date et d'heure personnalisée définie par la propriété DateTimeFormatInfo.RFC1123Pattern. Le modèle reflète un standard défini et la propriété est en lecture seule. Par conséquent, il s'agit toujours du même, quels que soient la culture utilisée ou le fournisseur de format spécifié. La chaîne de format personnalisée est "ddd, dd MMM yyyy HH':'mm':'ss 'GMT'". Lorsque ce spécificateur de format standard est utilisé, l'opération de mise en forme ou d'analyse utilise toujours la culture indifférente. La mise en forme ne modifie pas la valeur de l'objet DateTime ou DateTimeOffset qui est mis en forme. Par conséquent, l'application doit convertir la valeur en temps universel (UTC, Universal Time Coordinated) avant d'utiliser ce modèle de format. L'exemple suivant utilise le spécificateur de format r pour afficher une valeur DateTime et une valeur DateTimeOffset sur un système situé dans le fuseau horaire Pacifique (États-Unis).
|
s |
Modèle de date/heure pouvant être trié ; conforme à ISO 8601 |
Représente une chaîne de format de date et d'heure personnalisée définie par la propriété DateTimeFormatInfo.SortableDateTimePattern. Le modèle reflète un standard défini et la propriété est en lecture seule. Par conséquent, il s'agit toujours du même, quels que soient la culture utilisée ou le fournisseur de format spécifié. La chaîne de format personnalisée est "yyyy'-'MM'-'dd'T'HH':'mm':'ss". Lorsque ce spécificateur de format standard est utilisé, l'opération de mise en forme ou d'analyse utilise toujours la culture indifférente. L'exemple suivant utilise le spécificateur de format s pour afficher une valeur DateTime et une valeur DateTimeOffset sur un système situé dans le fuseau horaire Pacifique (États-Unis).
|
t |
Modèle d'heure abrégée |
Représente une chaîne de format de date et d'heure personnalisée définie par la propriété ShortTimePattern en cours. Par exemple, la chaîne de format personnalisée pour la culture indifférente est "HH:mm". L'exemple suivant utilise le spécificateur de format t pour afficher une valeur de date et d'heure.
|
T |
Modèle d'heure complète |
Représente une chaîne de format de date et d'heure personnalisée définie par la propriété LongTimePattern en cours. Par exemple, la chaîne de format personnalisée pour la culture indifférente est "HH:mm:ss". L'exemple suivant utilise le spécificateur de format T pour afficher une valeur de date et d'heure.
|
u |
Modèle de date/heure universel pouvant être trié |
Représente une chaîne de format de date et d'heure personnalisée définie par la propriété DateTimeFormatInfo.UniversalSortableDateTimePattern. Le modèle reflète un standard défini et la propriété est en lecture seule. Par conséquent, il s'agit toujours du même, quels que soient la culture utilisée ou le fournisseur de format spécifié. La chaîne de format personnalisée est "yyyy'-'MM'-'dd HH':'mm':'ss'Z'". Lorsque ce spécificateur de format standard est utilisé, l'opération de mise en forme ou d'analyse utilise toujours la culture indifférente. La mise en forme ne convertit pas le fuseau horaire pour l'objet de date et d'heure. Par conséquent, l'application doit convertir une date et une heure en temps universel (UTC, Universal Time Coordinated) avant d'utiliser ce spécificateur de format. L'exemple suivant utilise le spécificateur de format u pour afficher une valeur de date et d'heure.
|
U |
Modèle de date/heure complet universel |
Représente une chaîne de format de date et d'heure personnalisée définie par la propriété FullDateTimePattern en cours. Le modèle est le même que le modèle F. Toutefois, la mise en forme fonctionne sur le temps universel qui est équivalent à la valeur DateTime. Le spécificateur de format U n'est pas pris en charge par le type DateTimeOffset et lève une FormatException s'il est utilisé pour mettre en forme une valeur DateTimeOffset. L'exemple suivant utilise le spécificateur de format T pour afficher une valeur de date et d'heure.
|
Y, y |
Modèle d'année-mois |
Représente une chaîne de format de date et d'heure personnalisée définie par la propriété YearMonthPattern en cours. Par exemple, la chaîne de format personnalisée pour la culture indifférente est "yyyy MMMM". L'exemple suivant utilise le spécificateur de format y pour afficher une valeur de date et d'heure.
|
N'importe quel caractère |
(Spécificateur inconnu) |
Lève une FormatException runtime. |
Paramètres du panneau de configuration
Les options régionales et linguistiques du Panneau de configuration influencent la chaîne résultante produite par une opération de mise en forme. Ces paramètres sont utilisés pour initialiser l'objet DateTimeFormatInfo associé à la culture du thread en cours qui fournit des valeurs utilisées pour indiquer la mise en forme. Les ordinateurs utilisant des paramètres différents génèrent des chaînes résultantes différentes.
De plus, si le constructeur CultureInfo.CultureInfo(String) est utilisé pour instancier un nouvel objet CultureInfo qui représente la même culture que la culture système en cours, toutes les personnalisations établies par l'élément Options régionales et linguistiques dans le Panneau de configuration seront appliquées au nouvel objet CultureInfo. La méthode CreateSpecificCulture peut être utilisée pour créer un objet CultureInfo qui ne reflète pas les personnalisations d'un système.
Propriétés DateTimeFormatInfo
La mise en forme est influencée par les propriétés de l'objet DateTimeFormatInfo en cours qui est fourni implicitement par la culture du thread en cours ou explicitement par le paramètre IFormatProvider de la méthode de mise en forme. Pour le paramètre IFormatProvider, votre application doit spécifier un objet CultureInfo, qui représente une culture, ou un objet DateTimeFormatInfo, qui représente les conventions de présentation de la date et de l'heure d'une culture particulière. La plupart des spécificateurs de format de date et d'heure standard sont des alias des modèles de mise en forme définis par les propriétés de l'objet DateTimeFormatInfo en cours. Votre application peut modifier le résultat produit par certains spécificateurs de format de date et d'heure standard en modifiant les modèles de format de date et d'heure correspondants de la propriété DateTimeFormatInfo correspondante.
Utilisation de chaînes de format standard
Le code suivant illustre l'utilisation des chaînes de format standard avec des valeurs DateTime.
Dim dt As DateTime = DateTime.Now
Dim dfi As DateTimeFormatInfo = New DateTimeFormatInfo()
Dim ci As CultureInfo = New CultureInfo("de-DE")
' Create a new custom DateTime pattern for demonstration.
dfi.MonthDayPattern = "MM-MMMM, ddd-dddd"
' Use the DateTimeFormat from the culture associated
' with the current thread.
Console.WriteLine( dt.ToString("d") )
Console.WriteLine( dt.ToString("m") )
' Use the DateTimeFormat from the specific culture passed.
Console.WriteLine( dt.ToString("d", ci ) )
' Use the settings from the DateTimeFormatInfo object passed.
Console.WriteLine( dt.ToString("m", dfi ) )
' Reset the current thread to a different culture.
Thread.CurrentThread.CurrentCulture = New CultureInfo("fr-BE")
Console.WriteLine( dt.ToString("d") )
' Use a CultureInfo with a format specifier to parse a string.
Dim culter As New CultureInfo("en-US")
Dim myDateTime As DateTime
myDateTime = DateTime.ParseExact("Tuesday, April 10, 2001", "D", culter)
Console.WriteLine(myDateTime.ToString("D"))
DateTime dt = DateTime.Now;
DateTimeFormatInfo dfi = new DateTimeFormatInfo();
CultureInfo ci = new CultureInfo("de-DE");
// Create a new custom DateTime pattern for demonstration.
dfi.MonthDayPattern = "MM-MMMM, ddd-dddd";
// Use the DateTimeFormat from the culture associated
// with the current thread.
Console.WriteLine( dt.ToString("d") );
Console.WriteLine( dt.ToString("m") );
// Use the DateTimeFormat from the specific culture passed.
Console.WriteLine( dt.ToString("d", ci ) );
// Use the settings from the DateTimeFormatInfo object passed.
Console.WriteLine( dt.ToString("m", dfi ) );
// Reset the current thread to a different culture.
Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-BE");
Console.WriteLine( dt.ToString("d") );
// Use a CultureInfo with a format specifier to parse a string.
IFormatProvider culter = new CultureInfo("en-US");
DateTime myDateTime = DateTime.ParseExact("Tuesday, April 10, 2001", "D", culter);
Console.WriteLine(myDateTime.ToString("D"));
Exemple
L'exemple suivant met en forme un objet DateTime en utilisant la culture actuelle du thread, une culture spécifiée et tous les spécificateurs de format de date et d'heure standard.
' This code example demonstrates the ToString(String) and
' ToString(String, IFormatProvider) methods for the DateTime
' type in conjunction with the standard date and time
' format specifiers.
Imports System
Imports System.Globalization
Imports System.Threading
Class Sample
Public Shared Sub Main()
Dim msgShortDate As String = "(d) Short date: . . . . . . . "
Dim msgLongDate As String = "(D) Long date:. . . . . . . . "
Dim msgShortTime As String = "(t) Short time: . . . . . . . "
Dim msgLongTime As String = "(T) Long time:. . . . . . . . "
Dim msgFullDateShortTime As String = _
"(f) Full date/short time: . . "
Dim msgFullDateLongTime As String = _
"(F) Full date/long time:. . . "
Dim msgGeneralDateShortTime As String = _
"(g) General date/short time:. "
Dim msgGeneralDateLongTime As String = _
"(G) General date/long time (default):" & vbCrLf & _
" . . . . . . . . . . . . . "
Dim msgMonth As String = "(M) Month:. . . . . . . . . . "
Dim msgRFC1123 As String = "(R) RFC1123:. . . . . . . . . "
Dim msgSortable As String = "(s) Sortable: . . . . . . . . "
Dim msgUniSortInvariant As String = _
"(u) Universal sortable (invariant):" & vbCrLf & _
" . . . . . . . . . . . . . "
Dim msgUniFull As String = "(U) Universal full date/time: "
Dim msgYear As String = "(Y) Year: . . . . . . . . . . "
Dim msgRoundtripLocal As String = "(o) Roundtrip (local):. . . . "
Dim msgRoundtripUTC As String = "(o) Roundtrip (UTC):. . . . . "
Dim msgRoundtripUnspecified As String = "(o) Roundtrip (Unspecified):. "
Dim msg1 As String = "Use ToString(String) and the current thread culture." & vbCrLf
Dim msg2 As String = "Use ToString(String, IFormatProvider) and a specified culture." & vbCrLf
Dim msgCulture As String = "Culture:"
Dim msgThisDate As String = "This date and time: {0}" & vbCrLf
Dim thisDate As DateTime = DateTime.Now
Dim utcDate As DateTime = thisDate.ToUniversalTime()
Dim unspecifiedDate As DateTime = new DateTime(2000, 3, 20, 13, 2, 3, 0, DateTimeKind.Unspecified)
Dim ci As CultureInfo
' Format the current date and time in various ways.
Console.Clear()
Console.WriteLine("Standard DateTime Format Specifiers:" & vbCrLf)
Console.WriteLine(msgThisDate, thisDate)
Console.WriteLine(msg1)
' Display the thread current culture, which is used to format the values.
ci = Thread.CurrentThread.CurrentCulture
Console.WriteLine("{0,-30}{1}" & vbCrLf, msgCulture, ci.DisplayName)
Console.WriteLine(msgShortDate & thisDate.ToString("d"))
Console.WriteLine(msgLongDate & thisDate.ToString("D"))
Console.WriteLine(msgShortTime & thisDate.ToString("t"))
Console.WriteLine(msgLongTime & thisDate.ToString("T"))
Console.WriteLine(msgFullDateShortTime & thisDate.ToString("f"))
Console.WriteLine(msgFullDateLongTime & thisDate.ToString("F"))
Console.WriteLine(msgGeneralDateShortTime & thisDate.ToString("g"))
Console.WriteLine(msgGeneralDateLongTime & thisDate.ToString("G"))
Console.WriteLine(msgMonth & thisDate.ToString("M"))
Console.WriteLine(msgRFC1123 & utcDate.ToString("R"))
Console.WriteLine(msgSortable & thisDate.ToString("s"))
Console.WriteLine(msgUniSortInvariant & utcDate.ToString("u"))
Console.WriteLine(msgUniFull & thisDate.ToString("U"))
Console.WriteLine(msgYear & thisDate.ToString("Y"))
Console.WriteLine(msgRoundtripLocal & thisDate.ToString("o"))
Console.WriteLine(msgRoundtripUTC & utcDate.ToString("o"))
Console.WriteLine(msgRoundtripUnspecified & unspecifiedDate.ToString("o"))
Console.WriteLine()
' Display the same values using a CultureInfo object. The CultureInfo class
' implements IFormatProvider.
Console.WriteLine(msg2)
' Display the culture used to format the values.
ci = New CultureInfo("de-DE")
Console.WriteLine("{0,-30}{1}" & vbCrLf, msgCulture, ci.DisplayName)
Console.WriteLine(msgShortDate & thisDate.ToString("d", ci))
Console.WriteLine(msgLongDate & thisDate.ToString("D", ci))
Console.WriteLine(msgShortTime & thisDate.ToString("t", ci))
Console.WriteLine(msgLongTime & thisDate.ToString("T", ci))
Console.WriteLine(msgFullDateShortTime & thisDate.ToString("f", ci))
Console.WriteLine(msgFullDateLongTime & thisDate.ToString("F", ci))
Console.WriteLine(msgGeneralDateShortTime & thisDate.ToString("g", ci))
Console.WriteLine(msgGeneralDateLongTime & thisDate.ToString("G", ci))
Console.WriteLine(msgMonth & thisDate.ToString("M", ci))
Console.WriteLine(msgRFC1123 & utcDate.ToString("R", ci))
Console.WriteLine(msgSortable & thisDate.ToString("s", ci))
Console.WriteLine(msgUniSortInvariant & utcDate.ToString("u", ci))
Console.WriteLine(msgUniFull & thisDate.ToString("U", ci))
Console.WriteLine(msgYear & thisDate.ToString("Y", ci))
Console.WriteLine(msgRoundtripLocal & thisDate.ToString("o"), ci)
Console.WriteLine(msgRoundtripUTC & utcDate.ToString("o"), ci)
Console.WriteLine(msgRoundtripUnspecified & unspecifiedDate.ToString("o"), ci)
Console.WriteLine()
End Sub 'Main
End Class 'Sample
'
'This code example produces the following results:
'
'Standard DateTime Format Specifiers:
'
'This date and time: 4/17/2006 2:29:09 PM
'
'Use ToString(String) and the current thread culture.
'
'Culture: English (United States)
'
'(d) Short date: . . . . . . . 4/17/2006
'(D) Long date:. . . . . . . . Monday, April 17, 2006
'(t) Short time: . . . . . . . 2:29 PM
'(T) Long time:. . . . . . . . 2:29:09 PM
'(f) Full date/short time: . . Monday, April 17, 2006 2:29 PM
'(F) Full date/long time:. . . Monday, April 17, 2006 2:29:09 PM
'(g) General date/short time:. 4/17/2006 2:29 PM
'(G) General date/long time (default):
' . . . . . . . . . . . . . 4/17/2006 2:29:09 PM
'(M) Month:. . . . . . . . . . April 17
'(R) RFC1123:. . . . . . . . . Mon, 17 Apr 2006 21:29:09 GMT
'(s) Sortable: . . . . . . . . 2006-04-17T14:29:09
'(u) Universal sortable (invariant):
' . . . . . . . . . . . . . 2006-04-17 21:29:09Z
'(U) Universal full date/time: Monday, April 17, 2006 9:29:09 PM
'(Y) Year: . . . . . . . . . . April, 2006
'(o) Roundtrip (local):. . . . 2006-04-17T14:29:09.3011250-07:00
'(o) Roundtrip (UTC):. . . . . 2006-04-17T21:29:09.3011250Z
'(o) Roundtrip (Unspecified):. 2000-03-20T13:02:03.0000000
'
'Use ToString(String, IFormatProvider) and a specified culture.
'
'Culture: German (Germany)
'
'(d) Short date: . . . . . . . 17.04.2006
'(D) Long date:. . . . . . . . Montag, 17. April 2006
'(t) Short time: . . . . . . . 14:29
'(T) Long time:. . . . . . . . 14:29:09
'(f) Full date/short time: . . Montag, 17. April 2006 14:29
'(F) Full date/long time:. . . Montag, 17. April 2006 14:29:09
'(g) General date/short time:. 17.04.2006 14:29
'(G) General date/long time (default):
' . . . . . . . . . . . . . 17.04.2006 14:29:09
'(M) Month:. . . . . . . . . . 17 April
'(R) RFC1123:. . . . . . . . . Mon, 17 Apr 2006 21:29:09 GMT
'(s) Sortable: . . . . . . . . 2006-04-17T14:29:09
'(u) Universal sortable (invariant):
' . . . . . . . . . . . . . 2006-04-17 21:29:09Z
'(U) Universal full date/time: Montag, 17. April 2006 21:29:09
'(Y) Year: . . . . . . . . . . April 2006
'(o) Roundtrip (local):. . . . 2006-04-17T14:29:09.3011250-07:00
'(o) Roundtrip (UTC):. . . . . 2006-04-17T21:29:09.3011250Z
'(o) Roundtrip (Unspecified):. 2000-03-20T13:02:03.0000000
// This code example demonstrates the ToString(String) and
// ToString(String, IFormatProvider) methods for the DateTime
// type in conjunction with the standard date and time
// format specifiers.
using System;
using System.Globalization;
using System.Threading;
class Sample
{
public static void Main()
{
string msgShortDate = "(d) Short date: . . . . . . . ";
string msgLongDate = "(D) Long date:. . . . . . . . ";
string msgShortTime = "(t) Short time: . . . . . . . ";
string msgLongTime = "(T) Long time:. . . . . . . . ";
string msgFullDateShortTime =
"(f) Full date/short time: . . ";
string msgFullDateLongTime =
"(F) Full date/long time:. . . ";
string msgGeneralDateShortTime =
"(g) General date/short time:. ";
string msgGeneralDateLongTime =
"(G) General date/long time (default):\n" +
" . . . . . . . . . . . . . ";
string msgMonth = "(M) Month:. . . . . . . . . . ";
string msgRFC1123 = "(R) RFC1123:. . . . . . . . . ";
string msgSortable = "(s) Sortable: . . . . . . . . ";
string msgUniSortInvariant =
"(u) Universal sortable (invariant):\n" +
" . . . . . . . . . . . . . ";
string msgUniFull = "(U) Universal full date/time: ";
string msgYear = "(Y) Year: . . . . . . . . . . ";
string msgRoundtripLocal = "(o) Roundtrip (local):. . . . ";
string msgRoundtripUTC = "(o) Roundtrip (UTC):. . . . . ";
string msgRoundtripUnspecified = "(o) Roundtrip (Unspecified):. ";
string msg1 = "Use ToString(String) and the current thread culture.\n";
string msg2 = "Use ToString(String, IFormatProvider) and a specified culture.\n";
string msgCulture = "Culture:";
string msgThisDate = "This date and time: {0}\n";
DateTime thisDate = DateTime.Now;
DateTime utcDate = thisDate.ToUniversalTime();
DateTime unspecifiedDate = new DateTime(2000, 3, 20, 13, 2, 3, 0, DateTimeKind.Unspecified);
CultureInfo ci;
// Format the current date and time in various ways.
Console.Clear();
Console.WriteLine("Standard DateTime Format Specifiers:\n");
Console.WriteLine(msgThisDate, thisDate);
Console.WriteLine(msg1);
// Display the thread current culture, which is used to format the values.
ci = Thread.CurrentThread.CurrentCulture;
Console.WriteLine("{0,-30}{1}\n", msgCulture, ci.DisplayName);
Console.WriteLine(msgShortDate + thisDate.ToString("d"));
Console.WriteLine(msgLongDate + thisDate.ToString("D"));
Console.WriteLine(msgShortTime + thisDate.ToString("t"));
Console.WriteLine(msgLongTime + thisDate.ToString("T"));
Console.WriteLine(msgFullDateShortTime + thisDate.ToString("f"));
Console.WriteLine(msgFullDateLongTime + thisDate.ToString("F"));
Console.WriteLine(msgGeneralDateShortTime + thisDate.ToString("g"));
Console.WriteLine(msgGeneralDateLongTime + thisDate.ToString("G"));
Console.WriteLine(msgMonth + thisDate.ToString("M"));
Console.WriteLine(msgRFC1123 + utcDate.ToString("R"));
Console.WriteLine(msgSortable + thisDate.ToString("s"));
Console.WriteLine(msgUniSortInvariant + utcDate.ToString("u"));
Console.WriteLine(msgUniFull + thisDate.ToString("U"));
Console.WriteLine(msgYear + thisDate.ToString("Y"));
Console.WriteLine(msgRoundtripLocal + thisDate.ToString("o"));
Console.WriteLine(msgRoundtripUTC + utcDate.ToString("o"));
Console.WriteLine(msgRoundtripUnspecified + unspecifiedDate.ToString("o"));
Console.WriteLine();
// Display the same values using a CultureInfo object. The CultureInfo class
// implements IFormatProvider.
Console.WriteLine(msg2);
// Display the culture used to format the values.
ci = new CultureInfo("de-DE");
Console.WriteLine("{0,-30}{1}\n", msgCulture, ci.DisplayName);
Console.WriteLine(msgShortDate + thisDate.ToString("d", ci));
Console.WriteLine(msgLongDate + thisDate.ToString("D", ci));
Console.WriteLine(msgShortTime + thisDate.ToString("t", ci));
Console.WriteLine(msgLongTime + thisDate.ToString("T", ci));
Console.WriteLine(msgFullDateShortTime + thisDate.ToString("f", ci));
Console.WriteLine(msgFullDateLongTime + thisDate.ToString("F", ci));
Console.WriteLine(msgGeneralDateShortTime + thisDate.ToString("g", ci));
Console.WriteLine(msgGeneralDateLongTime + thisDate.ToString("G", ci));
Console.WriteLine(msgMonth + thisDate.ToString("M", ci));
Console.WriteLine(msgRFC1123 + utcDate.ToString("R", ci));
Console.WriteLine(msgSortable + thisDate.ToString("s", ci));
Console.WriteLine(msgUniSortInvariant + utcDate.ToString("u", ci));
Console.WriteLine(msgUniFull + thisDate.ToString("U", ci));
Console.WriteLine(msgYear + thisDate.ToString("Y", ci));
Console.WriteLine(msgRoundtripLocal + thisDate.ToString("o", ci));
Console.WriteLine(msgRoundtripUTC + utcDate.ToString("o", ci));
Console.WriteLine(msgRoundtripUnspecified + unspecifiedDate.ToString("o", ci));
Console.WriteLine();
}
}
/*
This code example produces the following results:
Standard DateTime Format Specifiers:
This date and time: 4/17/2006 2:22:48 PM
Use ToString(String) and the current thread culture.
Culture: English (United States)
(d) Short date: . . . . . . . 4/17/2006
(D) Long date:. . . . . . . . Monday, April 17, 2006
(t) Short time: . . . . . . . 2:22 PM
(T) Long time:. . . . . . . . 2:22:48 PM
(f) Full date/short time: . . Monday, April 17, 2006 2:22 PM
(F) Full date/long time:. . . Monday, April 17, 2006 2:22:48 PM
(g) General date/short time:. 4/17/2006 2:22 PM
(G) General date/long time (default):
. . . . . . . . . . . . . 4/17/2006 2:22:48 PM
(M) Month:. . . . . . . . . . April 17
(R) RFC1123:. . . . . . . . . Mon, 17 Apr 2006 21:22:48 GMT
(s) Sortable: . . . . . . . . 2006-04-17T14:22:48
(u) Universal sortable (invariant):
. . . . . . . . . . . . . 2006-04-17 21:22:48Z
(U) Universal full date/time: Monday, April 17, 2006 9:22:48 PM
(Y) Year: . . . . . . . . . . April, 2006
(o) Roundtrip (local):. . . . 2006-04-17T14:22:48.2698750-07:00
(o) Roundtrip (UTC):. . . . . 2006-04-17T21:22:48.2698750Z
(o) Roundtrip (Unspecified):. 2000-03-20T13:02:03.0000000
Use ToString(String, IFormatProvider) and a specified culture.
Culture: German (Germany)
(d) Short date: . . . . . . . 17.04.2006
(D) Long date:. . . . . . . . Montag, 17. April 2006
(t) Short time: . . . . . . . 14:22
(T) Long time:. . . . . . . . 14:22:48
(f) Full date/short time: . . Montag, 17. April 2006 14:22
(F) Full date/long time:. . . Montag, 17. April 2006 14:22:48
(g) General date/short time:. 17.04.2006 14:22
(G) General date/long time (default):
. . . . . . . . . . . . . 17.04.2006 14:22:48
(M) Month:. . . . . . . . . . 17 April
(R) RFC1123:. . . . . . . . . Mon, 17 Apr 2006 21:22:48 GMT
(s) Sortable: . . . . . . . . 2006-04-17T14:22:48
(u) Universal sortable (invariant):
. . . . . . . . . . . . . 2006-04-17 21:22:48Z
(U) Universal full date/time: Montag, 17. April 2006 21:22:48
(Y) Year: . . . . . . . . . . April 2006
(o) Roundtrip (local):. . . . 2006-04-17T14:22:48.2698750-07:00
(o) Roundtrip (UTC):. . . . . 2006-04-17T21:22:48.2698750Z
(o) Roundtrip (Unspecified):. 2000-03-20T13:02:03.0000000
*/
// This code example demonstrates the ToString(String) and
// ToString(String, IFormatProvider) methods for the DateTime
// type in conjunction with the standard date and time
// format specifiers.
using namespace System;
using namespace System::Globalization;
using namespace System::Threading;
int main()
{
String^ msgShortDate = "(d) Short date: . . . . . . . ";
String^ msgLongDate = "(D) Long date:. . . . . . . . ";
String^ msgShortTime = "(t) Short time: . . . . . . . ";
String^ msgLongTime = "(T) Long time:. . . . . . . . ";
String^ msgFullDateShortTime =
"(f) Full date/short time: . . ";
String^ msgFullDateLongTime =
"(F) Full date/long time:. . . ";
String^ msgGeneralDateShortTime =
"(g) General date/short time:. ";
String^ msgGeneralDateLongTime =
"(G) General date/long time (default):\n" +
" . . . . . . . . . . . . . ";
String^ msgMonth = "(M) Month:. . . . . . . . . . ";
String^ msgRFC1123 = "(R) RFC1123:. . . . . . . . . ";
String^ msgSortable = "(s) Sortable: . . . . . . . . ";
String^ msgUniSortInvariant =
"(u) Universal sortable (invariant):\n" +
" . . . . . . . . . . . . . ";
String^ msgUniFull = "(U) Universal full date/time: ";
String^ msgYear = "(Y) Year: . . . . . . . . . . ";
String^ msgRoundtripLocal = "(o) Roundtrip (local):. . . . ";
String^ msgRoundtripUTC = "(o) Roundtrip (UTC):. . . . . ";
String^ msgRoundtripUnspecified = "(o) Roundtrip (Unspecified):. ";
String^ msg1 = "Use ToString(String) and the current thread culture.\n";
String^ msg2 = "Use ToString(String, IFormatProvider) and a specified culture.\n";
String^ msgCulture = "Culture:";
String^ msgThisDate = "This date and time: {0}\n";
DateTime^ thisDate = DateTime::Now;
DateTime^ utcDate = thisDate->ToUniversalTime();
DateTime^ unspecifiedDate = gcnew DateTime(2000, 3, 20, 13, 2, 3, 0, DateTimeKind::Unspecified);
CultureInfo^ ci;
// Format the current date and time in various ways.
Console::Clear();
Console::WriteLine("Standard DateTime Format Specifiers:\n");
Console::WriteLine(msgThisDate, thisDate);
Console::WriteLine(msg1);
// Display the thread current culture, which is used to format the values.
ci = Thread::CurrentThread->CurrentCulture;
Console::WriteLine("{0,-30}{1}\n", msgCulture, ci->DisplayName);
Console::WriteLine(msgShortDate + thisDate->ToString("d"));
Console::WriteLine(msgLongDate + thisDate->ToString("D"));
Console::WriteLine(msgShortTime + thisDate->ToString("t"));
Console::WriteLine(msgLongTime + thisDate->ToString("T"));
Console::WriteLine(msgFullDateShortTime + thisDate->ToString("f"));
Console::WriteLine(msgFullDateLongTime + thisDate->ToString("F"));
Console::WriteLine(msgGeneralDateShortTime + thisDate->ToString("g"));
Console::WriteLine(msgGeneralDateLongTime + thisDate->ToString("G"));
Console::WriteLine(msgMonth + thisDate->ToString("M"));
Console::WriteLine(msgRFC1123 + utcDate->ToString("R"));
Console::WriteLine(msgSortable + thisDate->ToString("s"));
Console::WriteLine(msgUniSortInvariant + utcDate->ToString("u"));
Console::WriteLine(msgUniFull + thisDate->ToString("U"));
Console::WriteLine(msgYear + thisDate->ToString("Y"));
Console::WriteLine(msgRoundtripLocal + thisDate->ToString("o"));
Console::WriteLine(msgRoundtripUTC + utcDate->ToString("o"));
Console::WriteLine(msgRoundtripUnspecified + unspecifiedDate->ToString("o"));
Console::WriteLine();
// Display the same values using a CultureInfo object. The CultureInfo class
// implements IFormatProvider.
Console::WriteLine(msg2);
// Display the culture used to format the values.
ci = gcnew CultureInfo("de-DE");
Console::WriteLine("{0,-30}{1}\n", msgCulture, ci->DisplayName);
Console::WriteLine(msgShortDate + thisDate->ToString("d", ci));
Console::WriteLine(msgLongDate + thisDate->ToString("D", ci));
Console::WriteLine(msgShortTime + thisDate->ToString("t", ci));
Console::WriteLine(msgLongTime + thisDate->ToString("T", ci));
Console::WriteLine(msgFullDateShortTime + thisDate->ToString("f", ci));
Console::WriteLine(msgFullDateLongTime + thisDate->ToString("F", ci));
Console::WriteLine(msgGeneralDateShortTime + thisDate->ToString("g", ci));
Console::WriteLine(msgGeneralDateLongTime + thisDate->ToString("G", ci));
Console::WriteLine(msgMonth + thisDate->ToString("M", ci));
Console::WriteLine(msgRFC1123 + utcDate->ToString("R", ci));
Console::WriteLine(msgSortable + thisDate->ToString("s", ci));
Console::WriteLine(msgUniSortInvariant + utcDate->ToString("u", ci));
Console::WriteLine(msgUniFull + thisDate->ToString("U", ci));
Console::WriteLine(msgYear + thisDate->ToString("Y", ci));
Console::WriteLine(msgRoundtripLocal + thisDate->ToString("o", ci));
Console::WriteLine(msgRoundtripUTC + utcDate->ToString("o", ci));
Console::WriteLine(msgRoundtripUnspecified + unspecifiedDate->ToString("o", ci));
Console::WriteLine();
}
/*
This code example produces the following results:
Standard DateTime Format Specifiers:
This date and time: 4/17/2006 2:38:09 PM
Use ToString(String) and the current thread culture.
Culture: English (United States)
(d) Short date: . . . . . . . 4/17/2006
(D) Long date:. . . . . . . . Monday, April 17, 2006
(t) Short time: . . . . . . . 2:38 PM
(T) Long time:. . . . . . . . 2:38:09 PM
(f) Full date/short time: . . Monday, April 17, 2006 2:38 PM
(F) Full date/long time:. . . Monday, April 17, 2006 2:38:09 PM
(g) General date/short time:. 4/17/2006 2:38 PM
(G) General date/long time (default):
. . . . . . . . . . . . . 4/17/2006 2:38:09 PM
(M) Month:. . . . . . . . . . April 17
(R) RFC1123:. . . . . . . . . Mon, 17 Apr 2006 21:38:09 GMT
(s) Sortable: . . . . . . . . 2006-04-17T14:38:09
(u) Universal sortable (invariant):
. . . . . . . . . . . . . 2006-04-17 21:38:09Z
(U) Universal full date/time: Monday, April 17, 2006 9:38:09 PM
(Y) Year: . . . . . . . . . . April, 2006
(o) Roundtrip (local):. . . . 2006-04-17T14:38:09.9417500-07:00
(o) Roundtrip (UTC):. . . . . 2006-04-17T21:38:09.9417500Z
(o) Roundtrip (Unspecified):. 2000-03-20T13:02:03.0000000
Use ToString(String, IFormatProvider) and a specified culture.
Culture: German (Germany)
(d) Short date: . . . . . . . 17.04.2006
(D) Long date:. . . . . . . . Montag, 17. April 2006
(t) Short time: . . . . . . . 14:38
(T) Long time:. . . . . . . . 14:38:09
(f) Full date/short time: . . Montag, 17. April 2006 14:38
(F) Full date/long time:. . . Montag, 17. April 2006 14:38:09
(g) General date/short time:. 17.04.2006 14:38
(G) General date/long time (default):
. . . . . . . . . . . . . 17.04.2006 14:38:09
(M) Month:. . . . . . . . . . 17 April
(R) RFC1123:. . . . . . . . . Mon, 17 Apr 2006 21:38:09 GMT
(s) Sortable: . . . . . . . . 2006-04-17T14:38:09
(u) Universal sortable (invariant):
. . . . . . . . . . . . . 2006-04-17 21:38:09Z
(U) Universal full date/time: Montag, 17. April 2006 21:38:09
(Y) Year: . . . . . . . . . . April 2006
(o) Roundtrip (local):. . . . 2006-04-17T14:38:09.9417500-07:00
(o) Roundtrip (UTC):. . . . . 2006-04-17T21:38:09.9417500Z
(o) Roundtrip (Unspecified):. 2000-03-20T13:02:03.0000000
*/
Voir aussi
Concepts
Chaînes de format de date et d'heure
Chaînes de format de date et d'heure personnalisées