Académique Documents
Professionnel Documents
Culture Documents
Chaînes de Format de Date Et D'heure Personnalisées
Chaînes de Format de Date Et D'heure Personnalisées
Les chanes de format de date et d'heure personnalises peuvent tre utilises avec les
valeurs DateTime et DateTimeOffset.
Astuce
Vous pouvez tlcharger lutilitaire de mise en forme, une application qui vous permet
dappliquer des chanes de format des valeurs numriques ou des valeurs de date et
dheure, et dafficher la chane de rsultat.
Dans les oprations de mise en forme, les chanes de format de date et d'heure personnalises
peuvent tre utilises avec la mthode ToString d'une instance de date et d'heure ou avec une
mthode qui prend en charge la mise en forme composite. L'exemple suivant illustre ces deux
types d'utilisation.
Dans les oprations d'analyse, les chanes de format de date et d'heure personnalises peuvent
tre utilises avec les
mthodes DateTime.ParseExact, DateTime.TryParseExact, DateTimeOffset.ParseExact et DateTi
meOffset.TryParseExact. Pour que l'opration d'analyse aboutisse, ces mthodes requirent
qu'une chane d'entre se conforme exactement un modle particulier. L'exemple suivant
illustre un appel la mthode DateTimeOffset.ParseExact(String, String,
IFormatProvider) pour analyser une date qui doit comprendre un jour, un mois et une anne
sur deux chiffres.
using System;
using System.Globalization;
Le tableau suivant dcrit les spcificateurs de format de date et d'heure personnaliss et affiche
une chane de rsultat produite par chaque spcificateur de format. Par dfaut, les chanes de
rsultat refltent les conventions de mise en forme de la culture en-US. Si un spcificateur de
format particulier produit une chane de rsultat localise, l'exemple indique galement la
culture laquelle la chane de rsultat s'applique. Pour plus d'informations sur l'utilisation de
chanes de format de date et d'heure personnalises, consultez la section Remarques.
Spcificateur
Description Exemples
de format
2009-06-15T13:45:30 -> 9
2019-06-15T13:45:30 -> 19
N'importe Le caractre est copi inchang 2009-06-15T01:45:30 (arr hh:mm t) -> arr
quel autre dans la chane de rsultat. 01:45 A
caractre
Les sections suivantes fournissent des informations supplmentaires sur chaque spcificateur
de format de date et d'heure personnalis. Sauf indication contraire, chaque spcificateur
produit une reprsentation sous forme de chane identique, qu'il soit utilis avec une
valeur DateTime ou une valeur DateTimeOffset.
Console.WriteLine(date1.ToString("d, M",
CultureInfo.InvariantCulture));
// Displays 29, 8
Console.WriteLine(date1.ToString("d MMMM",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays 29 August
Console.WriteLine(date1.ToString("d MMMM",
CultureInfo.CreateSpecificCulture("es-MX")));
// Displays 29 agosto
Console.WriteLine(date1.ToString("dd, MM",
CultureInfo.InvariantCulture));
// 02, 01
Console.WriteLine(date1.ToString("ddd d MMM",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays Fri 29 Aug
Console.WriteLine(date1.ToString("ddd d MMM",
CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays ven. 29 aot
Retour au tableau
Spcificateur de format personnalis "dddd"
Le spcificateur de format personnalis "dddd" (plus n'importe quel nombre de spcificateurs
"d" supplmentaires) reprsente le nom complet du jour de la semaine. Le nom localis du jour
de la semaine est rcupr de la proprit DateTimeFormatInfo.DayNames de la culture
actuelle ou spcifie.
L'exemple suivant inclut le spcificateur de format personnalis "dddd" dans une chane de
format personnalise.
Si le spcificateur de format "f" est utilis sans autre spcificateur de format, il est interprt
comme le spcificateur de format de date et d'heure standard "f". Pour plus d'informations sur
l'utilisation d'un spcificateur de format unique, consultez Utilisation de spcificateurs de
format personnaliss uniques, plus loin dans cette rubrique.
Lorsque vous utilisez "f" dans le cadre d'une chane de format fournie la
mthode ParseExact, TryParseExact, ParseExact ou TryParseExact, le nombre de spcificateurs
de format "f" utiliss indique le nombre des chiffres les plus significatifs de la fraction de
seconde requis pour analyser correctement la chane.
L'exemple suivant inclut le spcificateur de format personnalis "f" dans une chane de format
personnalise.
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018
L'exemple suivant inclut le spcificateur de format personnalis "ff" dans une chane de format
personnalise.
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018
L'exemple suivant inclut le spcificateur de format personnalis "fff" dans une chane de format
personnalise.
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018
Bien qu'il soit possible d'afficher les dix millimes du composant "secondes" d'une valeur
d'heure, cette valeur peut ne pas tre significative. La prcision des valeurs de date et d'heure
dpend de la rsolution de l'horloge systme. Sur les systmes d'exploitation Windows NT
version 3.5 (et ultrieures) et Windows Vista, la rsolution de l'horloge est d'environ 10-15
millisecondes.
Bien qu'il soit possible d'afficher les cent millimes du composant "secondes" d'une valeur
d'heure, cette valeur peut ne pas tre significative. La prcision des valeurs de date et d'heure
dpend de la rsolution de l'horloge systme. Sur les systmes d'exploitation Windows NT 3.5
(et versions ultrieures) et Windows Vista, la rsolution de l'horloge est d'environ 10-15
millisecondes.
Bien qu'il soit possible d'afficher les dix millionimes du composant "secondes" d'une valeur
d'heure, cette valeur peut ne pas tre significative. La prcision des valeurs de date et d'heure
dpend de la rsolution de l'horloge systme. Sur les systmes d'exploitation Windows NT 3.5
(et versions ultrieures) et Windows Vista, la rsolution de l'horloge est d'environ 10-15
millisecondes.
Spcificateur de format personnalis "F"
Le spcificateur de format personnalis "F" reprsente le chiffre le plus significatif de la fraction
de seconde ; autrement dit, il reprsente les diximes de seconde dans une valeur de date et
d'heure. Rien ne s'affiche si le chiffre est zro.
Si le spcificateur de format "F" est utilis sans autre spcificateur de format, il est interprt
comme le spcificateur de format de date et d'heure standard "F". Pour plus d'informations sur
l'utilisation d'un spcificateur de format unique, consultez Utilisation de spcificateurs de
format personnaliss uniques, plus loin dans cette rubrique.
L'exemple suivant inclut le spcificateur de format personnalis "F" dans une chane de format
personnalise.
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018
L'exemple suivant inclut le spcificateur de format personnalis "FFF" dans une chane de
format personnalise.
Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018
Bien qu'il soit possible d'afficher les dix millimes du composant "secondes" d'une valeur
d'heure, cette valeur peut ne pas tre significative. La prcision des valeurs de date et d'heure
dpend de la rsolution de l'horloge systme. Sur les systmes d'exploitation Windows NT 3.5
(et versions ultrieures) et Windows Vista, la rsolution de l'horloge est d'environ 10-15
millisecondes.
Spcificateur de format personnalis "FFFFF"
Le spcificateur de format personnalis "FFFFF" reprsente les cinq chiffres les plus significatifs
de la fraction de seconde ; autrement dit, il reprsente les cent millimes de seconde dans une
valeur de date et d'heure. Toutefois, les zros de fin ou cinq chiffres zro ne sont pas affichs.
Bien qu'il soit possible d'afficher les cent millimes du composant "secondes" d'une valeur
d'heure, cette valeur peut ne pas tre significative. La prcision des valeurs de date et d'heure
dpend de la rsolution de l'horloge systme. Sur les systmes d'exploitation Windows NT 3.5
(et versions ultrieures) et Windows Vista, la rsolution de l'horloge est d'environ 10-15
millisecondes.
Console.WriteLine(date1.ToString("MM/dd/yyyy g",
CultureInfo.InvariantCulture));
// Displays 08/04/0070 A.D.
Console.WriteLine(date1.ToString("MM/dd/yyyy g",
CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays 08/04/0070 ap. J.-C.
Si le spcificateur de format "h" est utilis sans autre spcificateur de format personnalis, il est
interprt comme un spcificateur de format de date et d'heure standard et lve
un FormatException. Pour plus d'informations sur l'utilisation d'un spcificateur de format
unique, consultez Utilisation de spcificateurs de format personnaliss uniques, plus loin dans
cette rubrique.
L'exemple suivant inclut le spcificateur de format personnalis "h" dans une chane de format
personnalise.
DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.InvariantCulture));
// Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.InvariantCulture));
// Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1.5
L'exemple suivant inclut le spcificateur de format personnalis "hh" dans une chane de
format personnalise.
DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("hh:mm:ss tt",
CultureInfo.InvariantCulture));
// Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss tt",
CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01 du.
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
CultureInfo.InvariantCulture));
// Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01.50 du.
Si le spcificateur de format "H" est utilis sans autre spcificateur de format personnalis, il
est interprt comme un spcificateur de format de date et d'heure standard et lve
un FormatException. Pour plus d'informations sur l'utilisation d'un spcificateur de format
unique, consultez Utilisation de spcificateurs de format personnaliss uniques, plus loin dans
cette rubrique.
L'exemple suivant inclut le spcificateur de format personnalis "H" dans une chane de format
personnalise.
L'exemple suivant inclut le spcificateur de format personnalis "HH" dans une chane de
format personnalise.
Pour les valeurs DateTimeOffset, le spcificateur de format "K" est quivalent au spcificateur
de format "zz", et produit une chane de rsultat contenant l'offset de la
valeur DateTimeOffset par rapport l'heure UTC.
Si le spcificateur de format "K" est utilis sans autre spcificateur de format personnalis, il est
interprt comme un spcificateur de format de date et d'heure standard et lve
un FormatException. Pour plus d'informations sur l'utilisation d'un spcificateur de format
unique, consultez Utilisation de spcificateurs de format personnaliss uniques, plus loin dans
cette rubrique.
Console.WriteLine(DateTime.Now.ToString("%K"));
// Displays -07:00
Console.WriteLine(DateTime.UtcNow.ToString("%K"));
// Displays Z
Console.WriteLine("'{0}'",
DateTime.SpecifyKind(DateTime.Now,
DateTimeKind.Unspecified).ToString("%K"));
// Displays ''
Console.WriteLine(DateTimeOffset.Now.ToString("%K"));
// Displays -07:00
Console.WriteLine(DateTimeOffset.UtcNow.ToString("%K"));
// Displays +00:00
Console.WriteLine(new DateTimeOffset(2008, 5, 1, 6, 30, 0,
new TimeSpan(5, 0, 0)).ToString("%K"));
// Displays +05:00
Si le spcificateur de format "m" est utilis sans autre spcificateur de format personnalis, il
est interprt comme le spcificateur de format de date et d'heure standard "m". Pour plus
d'informations sur l'utilisation d'un spcificateur de format unique, consultez Utilisation de
spcificateurs de format personnaliss uniques, plus loin dans cette rubrique.
L'exemple suivant inclut le spcificateur de format personnalis "m" dans une chane de format
personnalise.
DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.InvariantCulture));
// Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.InvariantCulture));
// Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1.5
L'exemple suivant inclut le spcificateur de format personnalis "mm" dans une chane de
format personnalise.
DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("hh:mm:ss tt",
CultureInfo.InvariantCulture));
// Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss tt",
CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01 du.
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
CultureInfo.InvariantCulture));
// Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01.50 du.
Si le spcificateur de format "M" est utilis sans autre spcificateur de format personnalis, il
est interprt comme le spcificateur de format de date et d'heure standard "M". Pour plus
d'informations sur l'utilisation d'un spcificateur de format unique, consultez Utilisation de
spcificateurs de format personnaliss uniques, plus loin dans cette rubrique.
L'exemple suivant inclut le spcificateur de format personnalis "M" dans une chane de format
personnalise.
L'exemple suivant inclut le spcificateur de format personnalis "MM" dans une chane de
format personnalise.
Console.WriteLine(date1.ToString("dd, MM",
CultureInfo.InvariantCulture));
// 02, 01
Console.WriteLine(date1.ToString("ddd d MMM",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays Fri 29 Aug
Console.WriteLine(date1.ToString("ddd d MMM",
CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays ven. 29 aot
L'exemple suivant inclut le spcificateur de format personnalis "MMMM" dans une chane de
format personnalise.
Console.WriteLine(date1.ToString("dddd dd MMMM",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays Friday 29 August
Console.WriteLine(date1.ToString("dddd dd MMMM",
CultureInfo.CreateSpecificCulture("it-IT")));
// Displays venerd 29 agosto
L'exemple suivant inclut le spcificateur de format personnalis "s" dans une chane de format
personnalise.
DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.InvariantCulture));
// Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.InvariantCulture));
// Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1.5
L'exemple suivant inclut le spcificateur de format personnalis "ss" dans une chane de format
personnalise.
DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("hh:mm:ss tt",
CultureInfo.InvariantCulture));
// Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss tt",
CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01 du.
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
CultureInfo.InvariantCulture));
// Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01.50 du.
Si le spcificateur de format "t" est utilis sans autre spcificateur de format personnalis, il est
interprt comme le spcificateur de format de date et d'heure standard "t". Pour plus
d'informations sur l'utilisation d'un spcificateur de format unique, consultez Utilisation de
spcificateurs de format personnaliss uniques, plus loin dans cette rubrique.
L'exemple suivant inclut le spcificateur de format personnalis "t" dans une chane de format
personnalise.
DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.InvariantCulture));
// Displays 6:9:1 P
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.InvariantCulture));
// Displays 6:9:1.5 P
Console.WriteLine(date1.ToString("h:m:s.F t",
CultureInfo.CreateSpecificCulture("el-GR")));
// Displays 6:9:1.5
Veillez utiliser le spcificateur "tt" pour les langues pour lesquelles il est ncessaire de
maintenir la distinction entre AM et PM. Un exemple est illustr par la langue japonaise, pour
laquelle les indicateurs AM/PM se distinguent dans le deuxime caractre au lieu du premier.
L'exemple suivant inclut le spcificateur de format personnalis "tt" dans une chane de format
personnalise.
DateTime date1;
date1 = new DateTime(2008, 1, 1, 18, 9, 1);
Console.WriteLine(date1.ToString("hh:mm:ss tt",
CultureInfo.InvariantCulture));
// Displays 06:09:01 PM
Console.WriteLine(date1.ToString("hh:mm:ss tt",
CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01 du.
date1 = new DateTime(2008, 1, 1, 18, 9, 1, 500);
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
CultureInfo.InvariantCulture));
// Displays 06:09:01.50 PM
Console.WriteLine(date1.ToString("hh:mm:ss.ff tt",
CultureInfo.CreateSpecificCulture("hu-HU")));
// Displays 06:09:01.50 du.
using System;
using System.Globalization;
using System.Threading;
cal.TwoDigitYearMax = 2099;
CultureInfo culture = (CultureInfo) CultureInfo.CurrentCulture.Clone();
culture.DateTimeFormat.Calendar = cal;
Thread.CurrentThread.CurrentCulture = culture;
L'exemple suivant inclut le spcificateur de format personnalis "yy" dans une chane de format
personnalis.
Pour le calendrier bouddhiste thalandais, qui peut comporter des annes cinq chiffres, ce
spcificateur de format affiche tous les chiffres significatifs.
L'exemple suivant inclut le spcificateur de format personnalis "yyy" dans une chane de
format personnalise.
Pour le calendrier bouddhiste thalandais, qui peut comporter des annes cinq chiffres, ce
spcificateur de format affiche au minimum quatre chiffres.
L'exemple suivant inclut le spcificateur de format personnalis "yyyy" dans une chane de
format personnalise.
L'offset est toujours affich avec un signe de dbut. Un signe plus (+) indique les heures avant
l'heure UTC, et un signe moins (-) indique les heures aprs l'heure UTC. Un offset un seul
chiffre est mis en forme sans zro non significatif.
Si le spcificateur de format "z" est utilis sans autre spcificateur de format personnalis, il est
interprt comme un spcificateur de format de date et d'heure standard et lve
un FormatException. Pour plus d'informations sur l'utilisation d'un spcificateur de format
unique, consultez Utilisation de spcificateurs de format personnaliss uniques, plus loin dans
cette rubrique.
L'exemple suivant inclut le spcificateur de format personnalis "z" dans une chane de format
personnalise.
L'offset est toujours affich avec un signe de dbut. Un signe plus (+) indique les heures avant
l'heure UTC, et un signe moins (-) indique les heures aprs l'heure UTC. Un offset un seul
chiffre est mis en forme avec un zro non significatif.
L'exemple suivant inclut le spcificateur de format personnalis "zz" dans une chane de format
personnalise.
L'exemple suivant inclut le spcificateur de format personnalis "zzz" dans une chane de
format personnalise.
Pour modifier le sparateur horaire d'une chane de date et heure, spcifiez le caractre de
sparation dans un dlimiteur de chane littrale. Par exemple, la chane de format
personnalise hh'_'dd'_'ss produit une chane de rsultat dans laquelle "_ " (trait de
soulignement) est toujours utilis comme sparateur horaire. Pour modifier le sparateur
horaire de toutes les dates d'une culture, modifiez la valeur de la
proprit DateTimeFormatInfo.TimeSeparator de la culture actuelle, ou instanciez un
objet DateTimeFormatInfo, affectez le caractre sa proprit TimeSeparator, puis appelez
une surcharge de la mthode de mise en forme qui inclut un paramtre IFormatProvider.
Si le spcificateur de format ":" est utilis sans autre spcificateur de format personnalis, il est
interprt comme un spcificateur de format de date et d'heure standard et lve
un FormatException. Pour plus d'informations sur l'utilisation d'un spcificateur de format
unique, consultez Utilisation de spcificateurs de format personnaliss uniques, plus loin dans
cette rubrique.
Remarque
Pour modifier le sparateur de date d'une chane de date et heure, spcifiez le caractre de
sparation dans un dlimiteur de chane littrale. Par exemple, la chane de format
personnalise mm'/'dd'/'yyyy produit une chane de rsultat dans laquelle "/" est toujours
utilis comme sparateur de date. Pour modifier le sparateur de date de toutes les dates
d'une culture, modifiez la valeur de la proprit DateTimeFormatInfo.DateSeparator de la
culture actuelle, ou instanciez un objet DateTimeFormatInfo, affectez le caractre sa
proprit DateSeparator, puis appelez une surcharge de la mthode de mise en forme qui
inclut un paramtre IFormatProvider.
Si le spcificateur de format "/" est utilis sans autre spcificateur de format personnalis, il est
interprt comme un spcificateur de format de date et d'heure standard et lve
un FormatException. Pour plus d'informations sur l'utilisation d'un spcificateur de format
unique, consultez Utilisation de spcificateurs de format personnaliss uniques, plus loin dans
cette rubrique.
Notes
Utilisation de spcificateurs de format personnaliss uniques
Une chane de format de date et d'heure personnalise se compose d'au moins deux
caractres. Les mthodes de mise en forme de la date et de l'heure interprtent toute chane
un caractre comme une chane de format de date et d'heure standard. Si elles ne
reconnaissent pas le caractre comme un spcificateur de format valide, elles lvent
un FormatException. Par exemple, une chane de format qui se compose uniquement du
spcificateur "h" est interprte comme une chane de format de date et d'heure standard.
Cependant, dans ce cas particulier, une exception est leve, car il n'existe pas spcificateur de
format``de date et d'heure "h" standard.
Pour utiliser tout spcificateur de format de date et d'heure personnalis comme seul
spcificateur dans une chane de format (autrement dit, utiliser le spcificateur de format
personnalis "d", "f", "F", "g", "h", "H", "K", "m", "M", "s", "t", "y", "z", ":" ou "/" tout seul),
incluez un espace avant ou aprs le spcificateur, ou incluez un spcificateur de format
pourcentage ("%") avant le spcificateur de date et d'heure personnalis unique.
Par exemple , "%h"" est interprt en tant que chane de format de date et d'heure
personnalise qui affiche l'heure reprsente par la valeur de date et d'heure actuelle. Vous
pouvez galement utiliser la chane de format "h" ou "h", bien que cela inclue un espace avec
l'heure dans la chane de rsultat. L'exemple suivant illustre ces trois chanes de format.
Console.WriteLine("'{0:%h}'", dat1);
Console.WriteLine("'{0: h}'", dat1);
Console.WriteLine("'{0:h }'", dat1);
// The example displays the following output:
// '1'
// ' 1'
// '1 '
Pour inclure une barre oblique inverse dans une chane de rsultat, vous devez la placer dans
une squence d'chappement avec une autre barre oblique inverse (\\).
Remarque
Certains compilateurs, tels que les compilateurs C++ et , peuvent galement interprter une
barre oblique inverse unique comme un caractre d'chappement. Pour garantir
l'interprtation correcte d'une chane lors de la mise en forme, vous pouvez utiliser le
caractre littral de chane textuel(le caractre @) avant la chane en , ou ajouter une autre
barre oblique inverse avant chaque barre oblique inverse en et C++. L'exemple suivant
illustre ces deux approches.
DateTime date = new DateTime(2009, 06, 15, 13, 45, 30, 90);
string fmt1 = "h \\h m \\m";
string fmt2 = @"h \h m \m";
Proprits DateTimeFormatInfo
La mise en forme dpend des proprits de l'objet DateTimeFormatInfo actif, qui est fourni
implicitement par la culture actuelle du thread ou explicitement par le
paramtre IFormatProvider de la mthode qui appelle la mise en forme. Pour le
paramtre IFormatProvider, vous devez spcifier un objet CultureInfo qui reprsente une
culture, ou un objet DateTimeFormatInfo.
La chane de rsultat produite par la plupart des spcificateurs de format de date et d'heure
personnaliss dpend galement des proprits de l'objet DateTimeFormatInfo actif. Votre
application peut modifier le rsultat produit par certains spcificateurs de format de date et
d'heure personnaliss en modifiant la proprit DateTimeFormatInfo correspondante. Par
exemple, le spcificateur de format "ddd" ajoute la chane de rsultat le nom abrg d'un jour
de la semaine trouv dans le tableau de chanes AbbreviatedDayNames. De la mme faon, le
spcificateur de format "MMMM" ajoute la chane de rsultat un nom de mois complet
trouv dans le tableau de chanes MonthNames.