Exportar (0) Imprimir
Expandir Tudo
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original

DateTimeFormatInfo Classe

Define como valores DateTime são formatados e exibidos, dependendo da cultura.

Namespace:  System.Globalization
Assembly:  mscorlib (em mscorlib. dll)

[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class DateTimeFormatInfo : ICloneable, 
	IFormatProvider

Esta classe contém informações, como padrões de data, hora padrões e os designadores AM/PM.

To create a DateTimeFormatInfo for a specific culture, create a CultureInfo for that culture and retrieve the CultureInfo.DateTimeFormat property.To create a DateTimeFormatInfo for the culture of the current thread, use the CurrentInfo property.To create a DateTimeFormatInfo for the invariant culture, use the InvariantInfo property for a read-only version, or use the DateTimeFormatInfo constructor for a writable version.It is not possible to create a DateTimeFormatInfo for a neutral culture.

O usuário pode escolher substituir alguns dos valores associados a cultura atual do Windows através de regionais e de Idioma (ou Opções regionais ou Configurações regionais) no Painel de Controlarar.De exemplo, o usuário pode escolher para exibir a data em um Formatarar diferente ou para usar um Unidade Monetária Other Than o usar como padrão para a cultura.If the CultureInfo.UseUserOverride property is set to true, the properties of the CultureInfo.DateTimeFormat instance, the CultureInfo.NumberFormat instance, and the CultureInfo.TextInfo instance are also retrieved from the user settings.If the user settings are incompatible with the culture associated with the CultureInfo (for example, if the selected calendar is not one of the OptionalCalendars), the results of the methods and the values of the properties are undefined.

Before .NET Framework version 2.0, if the CultureInfo.UseUserOverride property is set to true, then the object reads each user-overridable property only when it is accessed for the first time.Because DateTimeFormatInfo has more than one user-overridable property, that "lazy initialization" can lead to an inconsistency between such properties when the following occurs: o aplicativo acessa uma propriedade; Em seguida, o usuário altera para outra cultura ou substitui Propriedades da cultura atual do usuário através de opções de idioma no Painel de Controlarar do sistema OPERACIONAL; e regionais Em seguida, o aplicativo acessa uma propriedade diferente.For example, in a sequence like this, LongDatePattern could be accessed; then the user could change patterns in OS control panel, and ShortDatePattern, when accessed, would follow the new settings.Inconsistência semelhante ocorrerá quando o usuário escolhe uma cultura de usuário diferente, em vez de substituição Apenas padrão específico um.

In .NET Framework version 2.0 and later, DateTimeFormatInfo does not use this "lazy initialization".Em vez disso, ele lê todas as propriedades de usuário-substituível quando ele é criado.Ainda há uma pequena janela de vulnerabilidade (nem criação do objeto o usuário Substituir processo é atômico, portanto, os valores relevantes poderia alteração in the midst of criação do objeto), mas isso deve ser extremamente raro.

Essa Alterar é particularmente importante a maiúscminúsc de serialização..NET Framework versão 2.0 e posterior serão mantidas todas as configurações substituível, em vez de apenas aqueles que são acessados pelo tempo de serialização acontece.

DateTime values are formatted using standard or custom patterns stored in the properties of a DateTimeFormatInfo.

The standard patterns can be replaced with custom patterns by setting the associated properties of a writable DateTimeFormatInfo.To determine if a DateTimeFormatInfo is writable, use the IsReadOnly property.

The following table lists the standard DateTime format specifiers and their associated DateTimeFormatInfo property.For more information, see Padrão Cadeia de caracteres Formatar DateTime.

Especificador de Formato

Propriedade associada/Descrição

d

ShortDatePattern

D

LongDatePattern

-F-

Data completa e a hora (Data por Extenso e curto período de tempo)

F

FullDateTimePattern (long date and long time)

-g-

Geral (Data abreviada e curto período de tempo)

-G-

Geral (Data abreviada e tempo)

m, M

MonthDayPattern

o

Padrão de data/hora de processamento

r, R

RFC1123Pattern

s

SortableDateTimePattern (based on ISO 8601) using local time

t

ShortTimePattern

T

LongTimePattern

u

UniversalSortableDateTimePattern using the format for universal time display

U

Total de data e hora (Data por Extenso e demorado) usando o horário universal

y, S

YearMonthPattern

The following table lists the custom DateTime format specifiers and their behavior.For more information, see Formatar DateTime Personalizar Cadeia de caracteres.

Especificador de Formato

Descrição

d, %d

O dia do mês.Dias de dígito Simples não terão um zero à esquerda.Especificar se o Formatarar padrão não está combinado com outros padrões Formatarar "%d".

dd

O dia do mês.Dias de dígito Simples terá um zero à esquerda.

ddd

The abbreviated name of the day of the week, as defined in AbbreviatedDayNames.

dddd

The full name of the day of the week, as defined in DayNames.

%f, f

A fração de segundo na precisão de dígito Simples.Os dígitos restantes são truncados.Especificar se o Formatarar padrão não está combinado com outros padrões Formatarar "%f".

ff

A fração de segundo na precisão Duplo-digit.Os dígitos restantes são truncados.

fff

A fração de segundo na precisão de três dígitos.Os dígitos restantes são truncados.

ffff

A fração de segundo na precisão de quatro dígitos.Os dígitos restantes são truncados.

fffff

A fração de segundo na precisão de cinco dígitos.Os dígitos restantes são truncados.

ffffff

A fração de segundo na precisão de seis dígitos.Os dígitos restantes são truncados.

fffffff

A fração de segundo na precisão de sete dígitos.Os dígitos restantes são truncados.

F, %F

Exibe o dígito mais significativo da fração segundos.Nada será exibido se o dígito for zero.Especificar se o Formatarar padrão não está combinado com outros padrões Formatarar "%F".

FF

Exibe os dois dígitos mais significativos da fração segundos.No entanto, à direita zeros ou dois dígitos zero, não são exibidos.

FFF

Exibe os três dígitos mais significativos da fração segundos.No entanto, à direita zeros ou três dígitos zero, não são exibidos.

FFFF

Exibe os quatro dígitos mais significativos da fração segundos.No entanto, à direita zeros, ou quatro dígitos zero, não são exibidos.

FFFFF

Exibe os cinco dígitos mais significativos da fração segundos.No entanto, à direita zeros, ou cinco dígitos zero, não são exibidos.

FFFFFF

Exibe os seis dígitos mais significativos da fração segundos.No entanto, à direita zeros ou seis dígitos zero, não são exibidos.

FFFFFFF

Exibe os sete dígitos mais significativos da fração segundos.No entanto, à direita zeros, ou sete dígitos zero, não são exibidos.

gg

O período ou era.Esse padrão é ignorado se a data para ser formatado não tem um período associado ou Cadeia de Caracteres era.

% h, h

A hora em um relógio de 12 horas.Horas de dígito Simples não terão um zero à esquerda.Especifique "%h" se o Formatarar padrão não está combinado com outros padrões Formatarar.

hh

A hora em um relógio de 12 horas.Simples-dígito horas terá um zero à esquerda.

H, %H

A hora em um relógio de 24 horas.Horas de dígito Simples não terão um zero à esquerda.Especificar se o Formatarar padrão não está combinado com outros padrões Formatarar "%H".

HH

A hora em um relógio de 24 horas.Simples-dígito horas terá um zero à esquerda.

K

Different values of the DateTime.Kind property, that is, Local, Utc, or Unspecified.

m, %m

O minuto.Minutos de dígito Simples não terão um zero à esquerda.Especificar se o Formatarar padrão não está combinado com outros padrões Formatarar "%m".

mm

O minuto.Minutos de dígito Simples terá um zero à esquerda.

M, %M

O mês numérico.Meses de dígito Simples não terão um zero à esquerda.Especificar se o Formatarar padrão não está combinado com outros padrões Formatarar "%M".

MM

O mês numérico.Meses de dígito Simples terá um zero à esquerda.

MMM

The abbreviated name of the month, as defined in AbbreviatedMonthNames.

MMMM

The full name of the month, as defined in MonthNames.

s, %s

O segundo.Segundos de dígito Simples não terão um zero à esquerda.Especificar se o Formatarar padrão não está combinado com outros padrões Formatarar "%s".

ss

O segundo.Segundos de dígito Simples terá um zero à esquerda.

t, %t

The first character in the AM/PM designator defined in AMDesignator or PMDesignator, if any.Especificar se o Formatarar padrão não está combinado com outros padrões Formatarar "%t".

TT

The AM/PM designator defined in AMDesignator or PMDesignator, if any.

y, %y

O ano sem o século.Se o ano sem o século é menor que 10, o ano é exibido com nenhum zero à esquerda.Especificar se o Formatarar padrão não está combinado com outros padrões Formatarar "%y".

yy

O ano sem o século.Se o ano sem o século é menor que 10, o ano é exibido com um zero à esquerda.

yyy

O ano em três dígitos.Se o Ano for menor que 100, o ano é exibido com um zero à esquerda.

yyyy

O ano em quatro ou cinco dígitos (dependendo o calendário usado), incluindo o século.Irá acrescentar com zeros à esquerda para obter quatro dígitos.Budista Tailandês e Coreano calendários dois tem cinco anos de dígitos; Os usuários selecionando o padrão "yyyy" verá todas as cinco dígitos sem zeros para calendários que possuem cinco dígitos à esquerda.Exceção: Os calendários japonês e Taiwan sempre se comportam como se "YY" foi selecionada.

yyyyy

O ano em cinco dígitos.Irá acrescentar com zeros à esquerda para obter cinco dígitos.Exceção: Os calendários japonês e Taiwan sempre se comportam como se "YY" foi selecionada.

yyyyyy

O ano em seis dígitos.Irá acrescentar com zeros à esquerda para obter seis dígitos.Exceção: Os calendários japonês e Taiwan sempre se comportam como se "YY" foi selecionada.O padrão pode ser continuada com uma maior Cadeia de Caracteres de preenchimento "y" s com mais zeros à esquerda.

z, %z

O deslocamento de fuso horário ("+" ou "-" seguido somente a hora).Horas de dígito Simples não terão um zero à esquerda.Exemplo, horário do Pacífico Padrão é "-8".Especificar se o Formatarar padrão não está combinado com outros padrões Formatarar "%z".

zz

O deslocamento de fuso horário ("+" ou "-" seguido somente a hora).Simples-dígito horas terá um zero à esquerda.Exemplo, horário do Pacífico Padrão é "-08".

ZZZ

Deslocamento de fuso horário integral ("+" ou "-" seguido as horas e minutos).Simples-dígito horas e minutos terão zeros à esquerda.For exemplo, Pacific Padrão Time is "-08: 00".

:

The default time separator defined in TimeSeparator.

/

The default date separator defined in DateSeparator.

% c

Where c is a format pattern if used alone.Ou seja, para usar Formatarar padrão "d", "f", "F", "h", "m", "s", "t", "y", "z", "H" ou "M" por si só, especifique "%d", "%f", "%F", "%h", "%m", "%s", "%t", "%y", "%z", "%H" ou "%M".

O caractere "%" pode ser omitido se o Formatarar padrão é combinado com caracteres literais ou outros padrões Formatarar.

\ c

Where c is any character.Exibe o caractere literalmente.Para exibir o caractere barra invertida, use "\\".

Only Patterns Formatarar listed in the segundo tabela above Can Be Used to create Personalizar Patterns; caracteres de Formatarar padrão listados nPrimeiro tabela não podem ser usados para criar padrões Personalizars.Padrões Personalizars são pelo menos dois caracteres; Por exemplo,

  • DateTime.ToString("d") retorna o valor datetime; "d" é o padrão de data abreviada padrão.

  • DateTime.ToString("%d") retorna o dia do mês; "%d" é um padrão Personalizar.

  • DateTime.ToString ("d") retorna o dia do mês seguido por um caractere de espaço em branco; "d" é um padrão Personalizar.

A DateTimeFormatInfo or a NumberFormatInfo can be created only for the invariant culture or for specific cultures, not for neutral cultures.For more information about the invariant culture, specific cultures, and neutral cultures, see the CultureInfo class.

This class implements the ICloneable interface to enable duplication of DateTimeFormatInfo objects.It also implements IFormatProvider to supply formatting information to applications.

O exemplo de código a seguir imprime sem os padrões Formatarar diferente para a cultura en-us usando caracteres de Formatarar.Ele também exibe o valor das propriedades associada de caracteres de Formatarar.

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( "  o     {0}\n", myDT.ToString("o") );
      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)

  o     2002-01-03T00:00:00.0000000

  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("  o     {0}\n", myDT.ToString("o") );
        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)

  o     2002-01-03T00:00:00.0000000

  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

Quaisquer membros públicos estático (compartilhados na Visual Basic) desse tipo são Thread seguro. Não há garantia de que qualquer membro de instância seja isento de segmentos.

Contribuições da comunidade

ADICIONAR
Mostrar:
© 2014 Microsoft