1 sur 1 ont trouvé cela utile - Évaluez ce sujet

DateTimeFormatInfo, classe

Définit la manière dont un format est appliqué aux valeurs DateTime et la manière dont elles sont affichées en fonction de la culture.

Espace de noms : System.Globalization
Assembly : mscorlib (dans mscorlib.dll)

[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public sealed class DateTimeFormatInfo : ICloneable, IFormatProvider
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public final class DateTimeFormatInfo implements ICloneable, IFormatProvider
SerializableAttribute 
ComVisibleAttribute(true) 
public final class DateTimeFormatInfo implements ICloneable, IFormatProvider

Cette classe contient des informations, telles que les modèles de date, les modèles d'heure et les indicateurs AM/PM.

Pour créer DateTimeFormatInfo pour une culture spécifique, créez CultureInfo pour cette culture et récupérez la propriété CultureInfo.DateTimeFormat. Pour créer DateTimeFormatInfo pour la culture du thread en cours, utilisez la propriété CurrentInfo. Pour créer DateTimeFormatInfo pour la culture dite indifférente, utilisez la propriété InvariantInfo pour une version en lecture seule ou utilisez le constructeur DateTimeFormatInfo pour une version accessible en écriture. Il n'est pas possible de créer DateTimeFormatInfo pour une culture neutre.

L'utilisateur peut choisir de substituer certaines valeurs associées à la culture en cours de Windows par le biais des options régionales et linguistiques (ou Options régionales ou Paramètres régionaux) du Panneau de configuration. Ainsi, il peut modifier le format d'affichage des dates ou utiliser une devise autre que la devise par défaut de la culture. Si la propriété CultureInfo.UseUserOverride a la valeur true, les propriétés de l'instance de CultureInfo.DateTimeFormat, de l'instance de CultureInfo.NumberFormat et de l'instance de CultureInfo.TextInfo sont aussi récupérées des paramètres utilisateur. Si les paramètres utilisateur ne sont pas compatibles avec la culture associée à CultureInfo (par exemple, si le calendrier sélectionné n'est pas l'un des OptionalCalendars), les résultats des méthodes et les valeurs des propriétés ne sont pas définis.

Un format est appliqué aux valeurs DateTime en utilisant des modèles standard ou personnalisés dans les propriétés d'un DateTimeFormatInfo.

Les modèles standard peuvent être remplacés par des modèles personnalisés en définissant les propriétés associées d'un DateTimeFormatInfo accessible en écriture. Pour déterminer si DateTimeFormatInfo est accessible en écriture, utilisez la propriété IsReadOnly.

Le tableau suivant répertorie les caractères de format standard pour chaque modèle standard et la propriété DateTimeFormatInfo associée qui peut être définie pour modifier le modèle standard. Les caractères de format respectent la casse ; par exemple, « g » et « G » représentent des modèles légèrement différents.

Caractère de format

Propriété associée / Description

d

ShortDatePattern

D

LongDatePattern

f

Date et heure complètes (date longue et heure abrégée)

F

FullDateTimePattern (date longue et heure complète)

g

Général (date courte et heure abrégée)

G

Général (date courte et heure complète)

m, M

MonthDayPattern

r, R

RFC1123Pattern

s

SortableDateTimePattern (basé sur ISO 8601) en utilisant l'heure locale

t

ShortTimePattern

T

LongTimePattern

u

UniversalSortableDateTimePattern à l'aide du format d'affichage du temps universel

U

Date et heure complètes (date longue et heure complète) en utilisant le temps universel

y, Y

YearMonthPattern

Le tableau suivant répertorie les modèles qui peuvent être combinés pour construire des modèles personnalisés. Les modèles respectent la casse ; par exemple, « MM » est reconnu, mais « mm » ne l'est pas. Si le modèle personnalisé contient des espaces ou des caractères mis entre guillemets simples fermants, la chaîne de sortie contiendra aussi ces caractères. Les caractères qui ne sont pas définis comme faisant partie d'un modèle de format ou comme caractères de format sont reproduits littéralement.

Modèle de format

Description

d, %d

Jour du mois. Un zéro non significatif n'est pas ajouté devant les valeurs inférieures à dix. Spécifiez « %d » si le modèle de format n'est pas combiné avec d'autres modèles de format.

dd

Jour du mois. Un zéro non significatif est ajouté devant les valeurs inférieures à dix.

ddd

Nom abrégé du jour de la semaine, comme défini dans AbbreviatedDayNames.

dddd

Nom complet du jour de la semaine, comme défini dans DayNames.

M, %M

Mois en chiffres. Un zéro non significatif n'est pas ajouté devant les valeurs inférieures à dix. Spécifiez « %M » si le modèle de format n'est pas combiné avec d'autres modèles de format.

MM

Mois en chiffres. Un zéro non significatif est ajouté devant les valeurs inférieures à dix.

MMM

Nom abrégé du mois, comme défini dans AbbreviatedMonthNames.

MMMM

Nom complet du mois, comme défini dans MonthNames.

y, %y

Année sans le siècle. Si l'année sans le siècle est inférieure à dix, l'année est affichée sans zéro non significatif. Spécifiez « %y » si le modèle de format n'est pas combiné avec d'autres modèles de format.

yy

Année sans le siècle. Si l'année sans le siècle est inférieure à dix, l'année est affichée avec un zéro non significatif.

yyyy

Année à quatre chiffres, y compris le siècle.

gg

Période ou ère. Ce modèle est ignoré si la date à laquelle appliquer un format ne possède pas de chaîne de période ou d'ère associée.

h, %h

Heure au format 12 heures. Un zéro non significatif n'est pas ajouté devant les valeurs inférieures à dix. Spécifiez « %h » si le modèle de format n'est pas combiné avec d'autres modèles de format.

hh

Heure au format 12 heures. Un zéro non significatif est ajouté devant les valeurs inférieures à dix.

H, %H

Heure au format 24 heures. Un zéro non significatif n'est pas ajouté devant les valeurs inférieures à dix. Spécifiez « %H » si le modèle de format n'est pas combiné avec d'autres modèles de format.

HH

Heure au format 24 heures. Un zéro non significatif est ajouté devant les valeurs inférieures à dix.

m, %m

Minute. Un zéro non significatif n'est pas ajouté devant les valeurs inférieures à dix. Spécifiez « %m » si le modèle de format n'est pas combiné avec d'autres modèles de format.

mm

Minute. Un zéro non significatif est ajouté devant les valeurs inférieures à dix.

s, %s

Seconde. Un zéro non significatif n'est pas ajouté devant les valeurs inférieures à dix. Spécifiez « %s » si le modèle de format n'est pas combiné avec d'autres modèles de format.

ss

Seconde. Un zéro non significatif est ajouté devant les valeurs inférieures à dix.

f, %f

Fraction d'une seconde à un chiffre. Les chiffres restants sont tronqués. Spécifiez « %f » si le modèle de format n'est pas combiné avec d'autres modèles de format.

ff

Fraction d'une seconde à deux chiffres. Les chiffres restants sont tronqués.

fff

Fraction d'une seconde à trois chiffres. Les chiffres restants sont tronqués.

ffff

Fraction d'une seconde à quatre chiffres. Les chiffres restants sont tronqués.

fffff

Fraction d'une seconde à cinq chiffres. Les chiffres restants sont tronqués.

ffffff

Fraction d'une seconde à six chiffres. Les chiffres restants sont tronqués.

fffffff

Fraction d'une seconde à sept chiffres. Les chiffres restants sont tronqués.

F, %F

Affiche le chiffre le plus significatif de la fraction de seconde. Rien n'est affiché si le chiffre est zéro. Spécifiez « %F » si le modèle de format n'est pas combiné avec d'autres modèles de format.

FF

Affiche les deux chiffres les plus significatifs de la fraction de seconde. Toutefois, les zéros de fin, ou deux chiffres zéro, ne sont pas affichés.

FFF

Affiche les trois chiffres les plus significatifs de la fraction de seconde. Toutefois, les zéros de fin, ou trois chiffres zéro, ne sont pas affichés.

FFFF

Affiche les quatre chiffres les plus significatifs de la fraction de seconde. Toutefois, les zéros de fin, ou quatre chiffres zéro, ne sont pas affichés.

FFFFF

Affiche les cinq chiffres les plus significatifs de la fraction de seconde. Toutefois, les zéros de fin, ou cinq chiffres zéro, ne sont pas affichés.

FFFFFF

Affiche les six chiffres les plus significatifs de la fraction de seconde. Toutefois, les zéros de fin, ou six chiffres zéro, ne sont pas affichés.

FFFFFFF

Affiche les sept chiffres les plus significatifs de la fraction de seconde. Toutefois, les zéros de fin, ou sept chiffres zéro, ne sont pas affichés.

t, %t

Premier caractère de l'indicateur AM/PM défini dans AMDesignator ou PMDesignator, le cas échéant. Spécifiez « %t » si le modèle de format n'est pas combiné avec d'autres modèles de format.

tt

Indicateur AM/PM défini dans AMDesignator ou PMDesignator, le cas échéant.

z, %z

Décalage horaire (signe « + » ou « - » suivi de l'heure uniquement). Un zéro non significatif n'est pas ajouté devant les valeurs inférieures à dix. Par exemple, l'heure du Pacifique (PST, Pacific Standard Time) est « -8 ». Spécifiez « %z » si le modèle de format n'est pas combiné avec d'autres modèles de format.

zz

Décalage horaire (signe « + » ou « - » suivi de l'heure uniquement). Un zéro non significatif est ajouté devant les valeurs inférieures à dix. Par exemple, l'heure du Pacifique (PST, Pacific Standard Time) est « -08 ».

zzz

Décalage horaire (signe « + » ou « - » suivi de l'heure et des minutes). Un zéro non significatif n'est pas ajouté devant les valeurs inférieures à dix. Par exemple, l'heure du Pacifique (PST, Pacific Standard Time) est « -08:00 ».

:

Séparateur horaire par défaut défini dans TimeSeparator.

/

Séparateur de date par défaut défini dans DateSeparator.

% c

c est un modèle de format s'il est utilisé seul. C'est-à-dire que pour utiliser le modèle de format « d », « f », « F », « h », « m », « s », « t », « y », « z », « H » ou « M » seul, spécifiez « %d », « %f », « %F », « %h », « %m », « %s », « %t », « %y », « %z », « %H » ou « %M ».

Le caractère « % » peut être omis si le modèle de format est combiné avec des caractères de type littéral ou d'autres modèles de format.

\ c

c est n'importe quel caractère. Affiche le caractère littéralement. Pour afficher la barre oblique inverse, utilisez « \\ ».

Seuls les modèles de format répertoriés dans le second tableau ci-dessus peuvent être utilisés pour créer des modèles personnalisés ; les caractères de format standard répertoriés dans le premier tableau ne peuvent pas être utilisés pour créer des modèles personnalisés. Les modèles personnalisés possèdent au moins deux caractères ; par exemple,

  • DateTime.ToString(« d ») retourne la valeur DateTime ; « d » est le modèle de date courte standard.

  • DateTime.ToString(« %d ») retourne le jour du mois ; « %d » est un modèle personnalisé.

  • DateTime.ToString(« d  ») retourne le jour du mois suivi d'un espace ; « d  » est un modèle personnalisé.

DateTimeFormatInfo ou NumberFormatInfo ne peut être créé que pour la culture dite indifférente ou pour des cultures spécifiques, et non pour des cultures neutres. Pour plus d'informations sur la culture dite indifférente, les cultures spécifiques et les cultures neutres, consultez la classe CultureInfo.

Cette classe implémente l'interface ICloneable pour activer la duplication d'objets DateTimeFormatInfo. Elle implémente aussi IFormatProvider pour fournir les informations de mise en forme aux applications.

L'exemple de code suivant affiche les différents modèles de formats de la culture en-US à l'aide des caractères de format. Il affiche également la valeur des propriétés associées au caractère de format.

using System;
using System.Globalization;


public class SamplesDTFI  {

   public static void Main()  {

      // Creates and initializes a DateTimeFormatInfo associated with the en-US culture.
      DateTimeFormatInfo myDTFI = new CultureInfo( "en-US", false ).DateTimeFormat;

      // Creates a DateTime with the Gregorian date January 3, 2002 (year=2002, month=1, day=3).
      // The Gregorian calendar is the default calendar for the en-US culture.
      DateTime myDT = new DateTime( 2002, 1, 3 );

      // Displays the format pattern associated with each format character.
      Console.WriteLine( "FORMAT  en-US EXAMPLE" );
      Console.WriteLine( "CHAR    VALUE OF ASSOCIATED PROPERTY, IF ANY\n" );
      Console.WriteLine( "  d     {0}", myDT.ToString("d") );
      Console.WriteLine( "        {0} {1}\n", myDTFI.ShortDatePattern, "(ShortDatePattern)" );
      Console.WriteLine( "  D     {0}", myDT.ToString("D") );
      Console.WriteLine( "        {0} {1}\n", myDTFI.LongDatePattern, "(LongDatePattern)" );
      Console.WriteLine( "  f     {0}\n", myDT.ToString("f") );
      Console.WriteLine( "  F     {0}", myDT.ToString("F") );
      Console.WriteLine( "        {0} {1}\n", myDTFI.FullDateTimePattern, "(FullDateTimePattern)" );
      Console.WriteLine( "  g     {0}\n", myDT.ToString("g") );
      Console.WriteLine( "  G     {0}\n", myDT.ToString("G") );
      Console.WriteLine( "  m     {0}", myDT.ToString("m") );
      Console.WriteLine( "        {0} {1}\n", myDTFI.MonthDayPattern, "(MonthDayPattern)" );
      Console.WriteLine( "  M     {0}", myDT.ToString("M") );
      Console.WriteLine( "        {0} {1}\n", myDTFI.MonthDayPattern, "(MonthDayPattern)" );
      Console.WriteLine( "  r     {0}", myDT.ToString("r") );
      Console.WriteLine( "        {0} {1}\n", myDTFI.RFC1123Pattern, "(RFC1123Pattern)" );
      Console.WriteLine( "  R     {0}", myDT.ToString("R") );
      Console.WriteLine( "        {0} {1}\n", myDTFI.RFC1123Pattern, "(RFC1123Pattern)" );
      Console.WriteLine( "  s     {0}", myDT.ToString("s") );
      Console.WriteLine( "        {0} {1}\n", myDTFI.SortableDateTimePattern, "(SortableDateTimePattern)" );
      Console.WriteLine( "  t     {0}", myDT.ToString("t") );
      Console.WriteLine( "        {0} {1}\n", myDTFI.ShortTimePattern, "(ShortTimePattern)" );
      Console.WriteLine( "  T     {0}", myDT.ToString("T") );
      Console.WriteLine( "        {0} {1}\n", myDTFI.LongTimePattern, "(LongTimePattern)" );
      Console.WriteLine( "  u     {0}", myDT.ToString("u") );
      Console.WriteLine( "        {0} {1}\n", myDTFI.UniversalSortableDateTimePattern, "(UniversalSortableDateTimePattern)" );
      Console.WriteLine( "  U     {0}\n", myDT.ToString("U") );
      Console.WriteLine( "  y     {0}", myDT.ToString("y") );
      Console.WriteLine( "        {0} {1}\n", myDTFI.YearMonthPattern, "(YearMonthPattern)" );
      Console.WriteLine( "  Y     {0}", myDT.ToString("Y") );
      Console.WriteLine( "        {0} {1}\n", myDTFI.YearMonthPattern, "(YearMonthPattern)" );

   }

}

/*
This code produces the following output.

FORMAT  en-US EXAMPLE
CHAR    VALUE OF ASSOCIATED PROPERTY, IF ANY

  d     1/3/2002
        M/d/yyyy (ShortDatePattern)

  D     Thursday, January 03, 2002
        dddd, MMMM dd, yyyy (LongDatePattern)

  f     Thursday, January 03, 2002 12:00 AM

  F     Thursday, January 03, 2002 12:00:00 AM
        dddd, MMMM dd, yyyy h:mm:ss tt (FullDateTimePattern)

  g     1/3/2002 12:00 AM

  G     1/3/2002 12:00:00 AM

  m     January 03
        MMMM dd (MonthDayPattern)

  M     January 03
        MMMM dd (MonthDayPattern)

  r     Thu, 03 Jan 2002 00:00:00 GMT
        ddd, dd MMM yyyy HH':'mm':'ss 'GMT' (RFC1123Pattern)

  R     Thu, 03 Jan 2002 00:00:00 GMT
        ddd, dd MMM yyyy HH':'mm':'ss 'GMT' (RFC1123Pattern)

  s     2002-01-03T00:00:00
        yyyy'-'MM'-'dd'T'HH':'mm':'ss (SortableDateTimePattern)

  t     12:00 AM
        h:mm tt (ShortTimePattern)

  T     12:00:00 AM
        h:mm:ss tt (LongTimePattern)

  u     2002-01-03 00:00:00Z
        yyyy'-'MM'-'dd HH':'mm':'ss'Z' (UniversalSortableDateTimePattern)

  U     Thursday, January 03, 2002 8:00:00 AM

  y     January, 2002
        MMMM, yyyy (YearMonthPattern)

  Y     January, 2002
        MMMM, yyyy (YearMonthPattern)

*/

import System.* ;
import System.Globalization.* ;

public class SamplesDTFI
{
    public static void main(String[] args)
    {
        // Creates and initializes a DateTimeFormatInfo associated with 
        // the en-US culture.
        DateTimeFormatInfo myDTFI = 
            (new CultureInfo("en-US", false)).get_DateTimeFormat();

        // Creates a DateTime with the Gregorian date January 3, 2002 
        // (year=2002, month=1, day=3).
        // The Gregorian calendar is the default calendar for the 
        // en-US culture.
        DateTime myDT =  new DateTime(2002, 1, 3);

        // Displays the format pattern associated with each format character.
        Console.WriteLine("FORMAT  en-US EXAMPLE");
        Console.WriteLine("CHAR    VALUE OF ASSOCIATED PROPERTY, IF ANY\n");
        Console.WriteLine("  d     {0}", myDT.ToString("d"));
        Console.WriteLine("        {0} {1}\n", myDTFI.get_ShortDatePattern(),
            "(ShortDatePattern)");
        Console.WriteLine("  D     {0}", myDT.ToString("D"));
        Console.WriteLine("        {0} {1}\n", myDTFI.get_LongDatePattern(), 
            "(LongDatePattern)");
        Console.WriteLine("  f     {0}\n", myDT.ToString("f"));
        Console.WriteLine("  F     {0}", myDT.ToString("F"));
        Console.WriteLine("        {0} {1}\n", myDTFI.get_FullDateTimePattern(),
            "(FullDateTimePattern)");
        Console.WriteLine("  g     {0}\n", myDT.ToString("g"));
        Console.WriteLine("  G     {0}\n", myDT.ToString("G"));
        Console.WriteLine("  m     {0}", myDT.ToString("m"));
        Console.WriteLine("        {0} {1}\n", myDTFI.get_MonthDayPattern(), 
            "(MonthDayPattern)");
        Console.WriteLine("  M     {0}", myDT.ToString("M"));
        Console.WriteLine("        {0} {1}\n", myDTFI.get_MonthDayPattern(), 
            "(MonthDayPattern)");
        Console.WriteLine("  r     {0}", myDT.ToString("r"));
        Console.WriteLine("        {0} {1}\n", myDTFI.get_RFC1123Pattern(),
            "(RFC1123Pattern)");
        Console.WriteLine("  R     {0}", myDT.ToString("R"));
        Console.WriteLine("        {0} {1}\n", myDTFI.get_RFC1123Pattern(), 
            "(RFC1123Pattern)");
        Console.WriteLine("  s     {0}", myDT.ToString("s"));
        Console.WriteLine("        {0} {1}\n", 
            myDTFI.get_SortableDateTimePattern(), "(SortableDateTimePattern)");
        Console.WriteLine("  t     {0}", myDT.ToString("t"));
        Console.WriteLine("        {0} {1}\n", myDTFI.get_ShortTimePattern(),
            "(ShortTimePattern)");
        Console.WriteLine("  T     {0}", myDT.ToString("T"));
        Console.WriteLine("        {0} {1}\n", myDTFI.get_LongTimePattern(), 
            "(LongTimePattern)");
        Console.WriteLine("  u     {0}", myDT.ToString("u"));
        Console.WriteLine("        {0} {1}\n", 
            myDTFI.get_UniversalSortableDateTimePattern(), 
            "(UniversalSortableDateTimePattern)");
        Console.WriteLine("  U     {0}\n", myDT.ToString("U"));
        Console.WriteLine("  y     {0}", myDT.ToString("y"));
        Console.WriteLine("        {0} {1}\n", myDTFI.get_YearMonthPattern(),
            "(YearMonthPattern)");
        Console.WriteLine("  Y     {0}", myDT.ToString("Y"));
        Console.WriteLine("        {0} {1}\n", myDTFI.get_YearMonthPattern(),
            "(YearMonthPattern)");
    } //main 
} //SamplesDTFI

/*
This code produces the following output.

FORMAT  en-US EXAMPLE
CHAR    VALUE OF ASSOCIATED PROPERTY, IF ANY

  d     1/3/2002
        M/d/yyyy (ShortDatePattern)

  D     Thursday, January 03, 2002
        dddd, MMMM dd, yyyy (LongDatePattern)

  f     Thursday, January 03, 2002 12:00 AM

  F     Thursday, January 03, 2002 12:00:00 AM
        dddd, MMMM dd, yyyy h:mm:ss tt (FullDateTimePattern)

  g     1/3/2002 12:00 AM

  G     1/3/2002 12:00:00 AM

  m     January 03
        MMMM dd (MonthDayPattern)

  M     January 03
        MMMM dd (MonthDayPattern)

  r     Thu, 03 Jan 2002 00:00:00 GMT
        ddd, dd MMM yyyy HH':'mm':'ss 'GMT' (RFC1123Pattern)

  R     Thu, 03 Jan 2002 00:00:00 GMT
        ddd, dd MMM yyyy HH':'mm':'ss 'GMT' (RFC1123Pattern)

  s     2002-01-03T00:00:00
        yyyy'-'MM'-'dd'T'HH':'mm':'ss (SortableDateTimePattern)

  t     12:00 AM
        h:mm tt (ShortTimePattern)

  T     12:00:00 AM
        h:mm:ss tt (LongTimePattern)

  u     2002-01-03 00:00:00Z
        yyyy'-'MM'-'dd HH':'mm':'ss'Z' (UniversalSortableDateTimePattern)

  U     Thursday, January 03, 2002 8:00:00 AM

  y     January, 2002
        MMMM, yyyy (YearMonthPattern)

  Y     January, 2002
        MMMM, yyyy (YearMonthPattern)
*/

System.Object
  System.Globalization.DateTimeFormatInfo
Les membres statiques publics (Shared en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile pour Pocket PC, Windows Mobile pour Smartphone, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0, 1.1, 1.0

.NET Compact Framework

Prise en charge dans : 2.0, 1.0
Cela vous a-t-il été utile ?
(1500 caractères restants)
Contenu de la communauté Ajouter
Annotations FAQ