Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

Classe PersianCalendar

 

Representa o calendário persa.

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

System.Object
  System.Globalization.Calendar
    System.Globalization.PersianCalendar

[SerializableAttribute]
public class PersianCalendar : Calendar

NomeDescrição
System_CAPS_pubmethodPersianCalendar()

Inicializa uma nova instância da classe PersianCalendar.

NomeDescrição
System_CAPS_pubpropertyAlgorithmType

Obtém um valor que indica se o calendário atual é baseada em solar, lunar baseado ou Lunissolar.(Substitui o Calendar.AlgorithmType.)

System_CAPS_protpropertyDaysInYearBeforeMinSupportedYear

Obtém o número de dias do ano que precede o ano especificado pelo MinSupportedDateTime propriedade.(Herdado de Calendar.)

System_CAPS_pubpropertyEras

Obtém a lista de eras em uma PersianCalendar objeto.(Substitui o Calendar.Eras.)

System_CAPS_pubpropertyIsReadOnly

Obtém um valor que indica se este Calendar objeto é somente leitura.(Herdado de Calendar.)

System_CAPS_pubpropertyMaxSupportedDateTime

Obtém a data e hora com suporte mais recente do PersianCalendar classe.(Substitui o Calendar.MaxSupportedDateTime.)

System_CAPS_pubpropertyMinSupportedDateTime

Obtém a data e hora com suporte mais recente do PersianCalendar classe.(Substitui o Calendar.MinSupportedDateTime.)

System_CAPS_pubpropertyTwoDigitYearMax

Obtém ou define o último ano de um intervalo de 100 anos que pode ser representado por um ano de 2 dígitos.(Substitui o Calendar.TwoDigitYearMax.)

NomeDescrição
System_CAPS_pubmethodAddDays(DateTime, Int32)

Retorna um DateTime que é o número especificado de dias à frente do DateTime indicado.(Herdado de Calendar.)

System_CAPS_pubmethodAddHours(DateTime, Int32)

Retorna um DateTime que é o número especificado de horas de ausência especificado DateTime.(Herdado de Calendar.)

System_CAPS_pubmethodAddMilliseconds(DateTime, Double)

Retorna um DateTime que é o número especificado de milissegundos longe especificado DateTime.(Herdado de Calendar.)

System_CAPS_pubmethodAddMinutes(DateTime, Int32)

Retorna um DateTime que é o número especificado de minutos de especificado DateTime.(Herdado de Calendar.)

System_CAPS_pubmethodAddMonths(DateTime, Int32)

Retorna um DateTime do objeto que é o número especificado de meses especificado de deslocamento DateTime objeto.(Substitui o Calendar.AddMonths(DateTime, Int32).)

System_CAPS_pubmethodAddSeconds(DateTime, Int32)

Retorna um DateTime que é o número especificado de segundos especificado DateTime.(Herdado de Calendar.)

System_CAPS_pubmethodAddWeeks(DateTime, Int32)

Retorna um DateTime que é o número especificado de semanas à frente do DateTime indicado.(Herdado de Calendar.)

System_CAPS_pubmethodAddYears(DateTime, Int32)

Retorna um DateTime do objeto que é o número especificado de anos especificado de deslocamento DateTime objeto.(Substitui o Calendar.AddYears(DateTime, Int32).)

System_CAPS_pubmethodClone()

Cria um novo objeto que é uma cópia do atual Calendar objeto.(Herdado de Calendar.)

System_CAPS_pubmethodEquals(Object)

Verifica se o objeto especificado é igual ao objeto atual. (Herdado de Object.)

System_CAPS_protmethodFinalize()

Permite que um objeto tente liberar recursos e executar outras operações de limpeza antes que ele seja recuperado pela coleta de lixo. (Herdado de Object.)

System_CAPS_pubmethodGetDayOfMonth(DateTime)

Retorna o dia do mês especificado na DateTime objeto.(Substitui o Calendar.GetDayOfMonth(DateTime).)

System_CAPS_pubmethodGetDayOfWeek(DateTime)

Retorna o dia da semana especificado na DateTime objeto.(Substitui o Calendar.GetDayOfWeek(DateTime).)

System_CAPS_pubmethodGetDayOfYear(DateTime)

Retorna o dia do ano especificado na DateTime objeto.(Substitui o Calendar.GetDayOfYear(DateTime).)

System_CAPS_pubmethodGetDaysInMonth(Int32, Int32)

Retorna o número de dias no mês e ano especificados da era atual.(Herdado de Calendar.)

System_CAPS_pubmethodGetDaysInMonth(Int32, Int32, Int32)

Retorna o número de dias no mês do ano especificado e era especificado.(Substitui o Calendar.GetDaysInMonth(Int32, Int32, Int32).)

System_CAPS_pubmethodGetDaysInYear(Int32)

Retorna o número de dias do ano especificado da era atual.(Herdado de Calendar.)

System_CAPS_pubmethodGetDaysInYear(Int32, Int32)

Retorna o número de dias do ano especificado da era especificado.(Substitui o Calendar.GetDaysInYear(Int32, Int32).)

System_CAPS_pubmethodGetEra(DateTime)

Retorna a era do DateTime objeto.(Substitui o Calendar.GetEra(DateTime).)

System_CAPS_pubmethodGetHashCode()

Serve como a função de hash padrão.(Herdado de Object.)

System_CAPS_pubmethodGetHour(DateTime)

Retorna o valor de horas especificado na DateTime.(Herdado de Calendar.)

System_CAPS_pubmethodGetLeapMonth(Int32)

Calcula o mês de salto para um ano especificado.(Herdado de Calendar.)

System_CAPS_pubmethodGetLeapMonth(Int32, Int32)

Retorna o mês de salto para um ano especificado e era.(Substitui o Calendar.GetLeapMonth(Int32, Int32).)

System_CAPS_pubmethodGetMilliseconds(DateTime)

Retorna o valor de milissegundos especificado na DateTime.(Herdado de Calendar.)

System_CAPS_pubmethodGetMinute(DateTime)

Retorna o valor de minutos especificado na DateTime.(Herdado de Calendar.)

System_CAPS_pubmethodGetMonth(DateTime)

Retorna o mês especificado na DateTime objeto.(Substitui o Calendar.GetMonth(DateTime).)

System_CAPS_pubmethodGetMonthsInYear(Int32)

Retorna o número de meses do ano especificado na era atual.(Herdado de Calendar.)

System_CAPS_pubmethodGetMonthsInYear(Int32, Int32)

Retorna o número de meses do ano especificado da era especificado.(Substitui o Calendar.GetMonthsInYear(Int32, Int32).)

System_CAPS_pubmethodGetSecond(DateTime)

Retorna os segundos de valor especificado na DateTime.(Herdado de Calendar.)

System_CAPS_pubmethodGetType()

Obtém o Type da instância atual.(Herdado de Object.)

System_CAPS_pubmethodGetWeekOfYear(DateTime, CalendarWeekRule, DayOfWeek)

Retorna a semana do ano que inclui a data no valor DateTime especificado.(Herdado de Calendar.)

System_CAPS_pubmethodGetYear(DateTime)

Retorna o ano especificado na DateTime objeto.(Substitui o Calendar.GetYear(DateTime).)

System_CAPS_pubmethodIsLeapDay(Int32, Int32, Int32)

Determina se a data especificada na era atual é um dia bissexto.(Herdado de Calendar.)

System_CAPS_pubmethodIsLeapDay(Int32, Int32, Int32, Int32)

Determina se a data especificada é um dia bissexto.(Substitui o Calendar.IsLeapDay(Int32, Int32, Int32, Int32).)

System_CAPS_pubmethodIsLeapMonth(Int32, Int32)

Determina se o mês do ano especificado na era atual especificado é um mês de salto.(Herdado de Calendar.)

System_CAPS_pubmethodIsLeapMonth(Int32, Int32, Int32)

Determina se o mês no ano especificado e era especificado é um mês de salto.(Substitui o Calendar.IsLeapMonth(Int32, Int32, Int32).)

System_CAPS_pubmethodIsLeapYear(Int32)

Determina se o ano especificado na era atual é um ano bissexto.(Herdado de Calendar.)

System_CAPS_pubmethodIsLeapYear(Int32, Int32)

Determina se o ano especificado na era especificado é um ano bissexto.(Substitui o Calendar.IsLeapYear(Int32, Int32).)

System_CAPS_protmethodMemberwiseClone()

Cria uma cópia superficial do Object atual.(Herdado de Object.)

System_CAPS_pubmethodToDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32)

Retorna um DateTime que é definido como a data e hora especificadas na era atual.(Herdado de Calendar.)

System_CAPS_pubmethodToDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32)

Retorna um DateTime objeto que é definido para a data especificada, a hora e a época.(Substitui o Calendar.ToDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32).)

System_CAPS_pubmethodToFourDigitYear(Int32)

Converte uma representação de ano de quatro dígitos do ano especificado.(Substitui o Calendar.ToFourDigitYear(Int32).)

System_CAPS_pubmethodToString()

Retorna uma string que representa o objeto atual.(Herdado de Object.)

NomeDescrição
System_CAPS_pubfieldSystem_CAPS_staticPersianEra

Representa a era atual. Esse campo é constante.

O calendário persa é usado na maioria dos países onde persa é falada, embora algumas regiões usam nomes de meses diferentes. O calendário persa é o calendário oficial do Irã e Afeganistão, e é um dos calendários alternativos em regiões como Cazaquistão e Tadjiquistão.

System_CAPS_noteObservação

Para obter informações sobre como usar o PersianCalendar classe e outras classes do Framework .NET de calendário, consulte Trabalhando com calendários.

Datas do calendário persa início do ano do Hijra, que corresponde ao 622 E.C. e é o ano quando Muhammad (PBUH) migrados do Mecca para Medina. Por exemplo, a data de 21 de março de 2002 C.E. corresponde ao primeiro dia do mês de Farvardeen no ano 1381 Anno Persico.

O calendário persa é baseado em um ano solar e é aproximadamente 365 dias. Um ano percorre quatro estações, e um ano novo começa quando o sun aparece passem do Equador o hemisfério sul para o hemisfério norte como exibido no centro da Terra da. As marcas de ano novo o primeiro dia do mês de Farvardeen, que é o primeiro dia do primeiro semestre do hemisfério norte.

Cada um dos seis primeiros meses do calendário persa tem 31 dias, cada um dos próximos cinco meses tem 30 dias e o último mês tem 29 dias em um ano comuns e 30 dias em um ano bissexto. Um ano bissexto é que, quando dividida por 33, tem um resto de 1, 5, 9, 13, 17, 22, 26 ou 30. Por exemplo, o ano 1370 é um ano bissexto porque dividindo pelo 33 gera um resto 17. Existem aproximadamente oito anos bissextos em cada ciclo de 33 anos.

Começando com o .NET Framework 4.6, o PersianCalendar classe usa o algoritmo de astronômicas solar Hijri, em vez de um algoritmo observational para calcular datas. Isso torna a PersianCalendar implementação consistente com o calendário persa em uso no Irã e Afeganistão, os dois países em que o calendário persa é mais amplamente utilizadas. A alteração afeta todos os aplicativos em execução no .NET Framework 4 ou posterior se a .NET Framework 4.6 está instalado.

Como resultado o algoritmo alterado:

  • Os dois algoritmos devem retornar resultados idênticos ao converter datas entre 1.800 e 2123 no calendário gregoriano.

  • Os dois algoritmos podem retornar resultados diferentes ao converter datas antes 1800 e depois 2123 no calendário gregoriano.

  • O MinSupportedDateTime o valor da propriedade foi alterada de 21 de março de 0622 no calendário gregoriano para 22 de março de 0622 no calendário gregoriano.

  • O MaxSupportedDateTime o valor da propriedade mudou de 10 dias do mês do ano 9378 no calendário persa 10 para o dia 13 de 10 de mês do ano 9378 no calendário persa.

  • O IsLeapYear método pode retornar um resultado diferente do que tinha anteriormente.

Os aplicativos usam um PersianCalendar objeto para calcular datas do calendário persa ou converter datas persa em datas do calendário gregoriano.

Não é possível usar uma PersianCalendar objeto como o calendário padrão para uma cultura. O calendário padrão for especificado o CultureInfo.Calendar propriedade e deve ser um dos calendários retornados pelo CultureInfo.OptionalCalendars propriedade. Atualmente, o PersianCalendar a classe não é um calendário opcional para qualquer cultura com suporte a CultureInfo classe e, consequentemente, não pode ser um calendário padrão.

O exemplo a seguir cria uma instância DateTime objetos usando o DateTime.Now propriedade, um DateTime construtor e o calendário persa ToDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32) método. Ele exibe essas datas em calendários do calendário gregoriano quanto o persa. Ele também exibe o intervalo de datas do calendário persa.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
        PersianCalendar pc = new PersianCalendar();
        DateTime thisDate = DateTime.Now;

        // Display the current date using the Gregorian and Persian calendars. 
        Console.WriteLine("Today in the Gregorian Calendar:  {0:dddd}, {0}", thisDate);
        Console.WriteLine("Today in the Persian Calendar:    {0}, {1}/{2}/{3} {4}:{5}:{6}\n",  
                      pc.GetDayOfWeek(thisDate), 
                      pc.GetMonth(thisDate), 
                      pc.GetDayOfMonth(thisDate),  
                      pc.GetYear(thisDate), 
                      pc.GetHour(thisDate), 
                      pc.GetMinute(thisDate), 
                      pc.GetSecond(thisDate));

        // Create a date using the Gregorian calendar.
        thisDate = new DateTime(2013, 5, 28, 10, 35, 0);
        Console.WriteLine("Gregorian Calendar:  {0:D} ", thisDate);
        Console.WriteLine("Persian Calendar:    {0}, {1}/{2}/{3} {4}:{5}:{6}\n",  
                          pc.GetDayOfWeek(thisDate), 
                          pc.GetMonth(thisDate), 
                          pc.GetDayOfMonth(thisDate),  
                          pc.GetYear(thisDate), 
                          pc.GetHour(thisDate), 
                          pc.GetMinute(thisDate), 
                          pc.GetSecond(thisDate));

        // Create a date using the Persian calendar.
        thisDate = pc.ToDateTime(1395, 4, 22, 12, 30, 0, 0);
        Console.WriteLine("Gregorian Calendar:  {0:D} ", thisDate);
        Console.WriteLine("Persian Calendar:    {0}, {1}/{2}/{3} {4}:{5}:{6}\n",  
                      pc.GetDayOfWeek(thisDate), 
                      pc.GetMonth(thisDate), 
                      pc.GetDayOfMonth(thisDate),  
                      pc.GetYear(thisDate), 
                      pc.GetHour(thisDate), 
                      pc.GetMinute(thisDate), 
                      pc.GetSecond(thisDate));

        // Show the Persian Calendar date range.
        Console.WriteLine("Minimum Persian Calendar date (Gregorian Calendar):  {0:D} ", 
                          pc.MinSupportedDateTime);
        Console.WriteLine("Minimum Persian Calendar date (Persian Calendar):  " +    
                          "{0}, {1}/{2}/{3} {4}:{5}:{6}\n",  
                          pc.GetDayOfWeek(pc.MinSupportedDateTime), 
                          pc.GetMonth(pc.MinSupportedDateTime), 
                          pc.GetDayOfMonth(pc.MinSupportedDateTime),  
                          pc.GetYear(pc.MinSupportedDateTime), 
                          pc.GetHour(pc.MinSupportedDateTime), 
                          pc.GetMinute(pc.MinSupportedDateTime), 
                          pc.GetSecond(pc.MinSupportedDateTime));

        Console.WriteLine("Maximum Persian Calendar date (Gregorian Calendar):  {0:D} ", 
                          pc.MaxSupportedDateTime);
        Console.WriteLine("Maximum Persian Calendar date (Persian Calendar):  " +   
                          "{0}, {1}/{2}/{3} {4}:{5}:{6}\n",  
                          pc.GetDayOfWeek(pc.MaxSupportedDateTime), 
                          pc.GetMonth(pc.MaxSupportedDateTime), 
                          pc.GetDayOfMonth(pc.MaxSupportedDateTime),  
                          pc.GetYear(pc.MaxSupportedDateTime), 
                          pc.GetHour(pc.MinSupportedDateTime), 
                          pc.GetMinute(pc.MaxSupportedDateTime), 
                          pc.GetSecond(pc.MaxSupportedDateTime));
   }
}
// The example displays the following output when run under the .NET Framework 4.6:
//    Today in the Gregorian Calendar:  Monday, 2/4/2013 9:11:36 AM
//    Today in the Persian Calendar:    Monday, 11/16/1391 9:11:36
//
//    Gregorian Calendar:  Tuesday, May 28, 2013
//    Persian Calendar:    Tuesday, 3/7/1392 10:35:0
//
//    Gregorian Calendar:  Tuesday, July 12, 2016
//    Persian Calendar:    Tuesday, 4/22/1395 12:30:0
//
//    Minimum Persian Calendar date (Gregorian Calendar):  Friday, March 22, 0622
//    Minimum Persian Calendar date (Persian Calendar):  Friday, 1/1/1 0:0:0
//
//    Maximum Persian Calendar date (Gregorian Calendar):  Friday, December 31, 9999
//    Maximum Persian Calendar date (Persian Calendar):  Friday, 10/13/9378 0:59:59
//
// The example displays the following output when run under versions of
// the .NET Framework before the .NET Framework 4.6:
//    Today in the Gregorian Calendar:  Monday, 2/4/2013 9:11:36 AM
//    Today in the Persian Calendar:    Monday, 11/16/1391 9:11:36
//    
//    Gregorian Calendar:  Tuesday, May 28, 2013
//    Persian Calendar:    Tuesday, 3/7/1392 10:35:0
//    
//    Gregorian Calendar:  Tuesday, July 12, 2016
//    Persian Calendar:    Tuesday, 4/22/1395 12:30:0
//    
//    Minimum Persian Calendar date (Gregorian Calendar):  Thursday, March 21, 0622
//    Minimum Persian Calendar date (Persian Calendar):  Thursday, 1/1/1 0:0:0
//    
//    Maximum Persian Calendar date (Gregorian Calendar):  Friday, December 31, 9999
//    Maximum Persian Calendar date (Persian Calendar):  Friday, 10/10/9378 0:59:59

O exemplo a seguir demonstra os membros de campo, propriedade e método do PersianCalendar classe.

using System;
using System.Globalization;

class Sample 
{
    public static void Main() 
    {
      PersianCalendar jc = new PersianCalendar();
      DateTime thisDate = DateTime.Now;

		//--------------------------------------------------------------------------------
		// Properties
		//--------------------------------------------------------------------------------
      Console.WriteLine("\n........... Selected Properties .....................\n");
      Console.Write("Eras:");
      foreach (int era in jc.Eras)
      {
         Console.WriteLine(" era = {0}", era);
      }
		//--------------------------------------------------------------------------------
      Console.WriteLine("\nTwoDigitYearMax = {0}", jc.TwoDigitYearMax);
		//--------------------------------------------------------------------------------
		// Methods
		//--------------------------------------------------------------------------------
      Console.WriteLine("\n............ Selected Methods .......................\n");

		//--------------------------------------------------------------------------------
      Console.WriteLine("GetDayOfYear: day = {0}", jc.GetDayOfYear(thisDate));
		//--------------------------------------------------------------------------------
      Console.WriteLine("GetDaysInMonth: days = {0}", 
                        jc.GetDaysInMonth( thisDate.Year, thisDate.Month, 
                        PersianCalendar.PersianEra));
		//--------------------------------------------------------------------------------
      Console.WriteLine("GetDaysInYear: days = {0}", 
                        jc.GetDaysInYear(thisDate.Year, PersianCalendar.PersianEra));
		//--------------------------------------------------------------------------------
      Console.WriteLine("GetLeapMonth: leap month (if any) = {0}", 
                        jc.GetLeapMonth(thisDate.Year, PersianCalendar.PersianEra));
		//-------------------------------------------------------------
      Console.WriteLine("GetMonthsInYear: months in a year = {0}", 
                        jc.GetMonthsInYear(thisDate.Year, PersianCalendar.PersianEra));
		//--------------------------------------------------------------------------------
      Console.WriteLine("IsLeapDay: This is a leap day = {0}", 
                        jc.IsLeapDay(thisDate.Year, thisDate.Month, thisDate.Day, 
                        PersianCalendar.PersianEra));
		//--------------------------------------------------------------------------------
      Console.WriteLine("IsLeapMonth: This is a leap month = {0}", 
                        jc.IsLeapMonth(thisDate.Year, thisDate.Month, 
                        PersianCalendar.PersianEra));
		//--------------------------------------------------------------------------------
      Console.WriteLine("IsLeapYear: 1370 is a leap year = {0}", 
                        jc.IsLeapYear(1370, PersianCalendar.PersianEra));
		//--------------------------------------------------------------------------------

		// Get the 4-digit year for a year whose last two digits are 99. The 4-digit year 
		// depends on the current value of the TwoDigitYearMax property.

      Console.WriteLine("ToFourDigitYear:");
      Console.WriteLine("  If TwoDigitYearMax = {0}, ToFourDigitYear(99) = {1}", 
                         jc.TwoDigitYearMax, jc.ToFourDigitYear(99));
      jc.TwoDigitYearMax = thisDate.Year;
      Console.WriteLine("  If TwoDigitYearMax = {0}, ToFourDigitYear(99) = {1}", 
                        jc.TwoDigitYearMax, jc.ToFourDigitYear(99));
    }
}
// The example displays the following output:
//       ........... Selected Properties .....................
//       
//       Eras: era = 1
//       
//       TwoDigitYearMax = 99
//       
//       ............ Selected Methods .......................
//       
//       GetDayOfYear: day = 1
//       GetDaysInMonth: days = 31
//       GetDaysInYear: days = 365
//       GetLeapMonth: leap month (if any) = 0
//       GetMonthsInYear: months in a year = 12
//       IsLeapDay: This is a leap day = False
//       IsLeapMonth: This is a leap month = False
//       IsLeapYear: 1370 is a leap year = True
//       ToFourDigitYear:
//         If TwoDigitYearMax = 99, ToFourDigitYear(99) = 99
//         If TwoDigitYearMax = 2012, ToFourDigitYear(99) = 1999

Plataforma Universal do Windows
Disponível desde 10
.NET Framework
Disponível desde 2.0
Silverlight
Disponível desde 5.0

Quaisquer membros estáticos públicos ( Compartilhado no Visual Basic) desse tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Retornar ao início
Mostrar: