UmAlQuraCalendar.AddMonths(DateTime, Int32) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Calcula uma data que é um número especificado de meses além de uma data inicial especificada.
public:
override DateTime AddMonths(DateTime time, int months);
public override DateTime AddMonths (DateTime time, int months);
override this.AddMonths : DateTime * int -> DateTime
Public Overrides Function AddMonths (time As DateTime, months As Integer) As DateTime
Parâmetros
- time
- DateTime
A data em que os meses serão adicionados. A classe UmAlQuraCalendar dá suporte apenas às datas de 30/04/1900 00.00.00 (data gregoriana) a 16/11/2077 23:59:59 (data gregoriana).
- months
- Int32
O número positivo ou negativo de meses a ser adicionado.
Retornos
A data gerada pela adição do número de meses especificado pelo parâmetro months
à data especificada pelo parâmetro time
.
Exceções
A data resultante está fora do intervalo com suporte da classe UmAlQuraCalendar.
months
é menor que -120.000 ou maior que 120.000.
- ou -
time
está fora do intervalo com suporte por esse calendário.
Exemplos
O exemplo a seguir cria uma instância de um DateTime valor e exibe os valores de vários de seus componentes no calendário Um Al Qura. Em seguida, ele chama os AddYears métodos e AddMonths para adicionar 2 anos e 10 meses no calendário Um Al Qura ao valor de data. Por fim, ele exibe novamente os valores desses componentes de data no calendário Um Al Qura.
using System;
using System.Globalization;
public class Example
{
public static void Main()
{
DateTime date1 = new DateTime(2011, 4, 3, new GregorianCalendar());
Calendar cal = new UmAlQuraCalendar();
Console.WriteLine("{0:MMMM d, yyyy} in the Gregorian calendar is equivalent to:", date1);
DisplayCalendarInfo(cal, date1);
// Add 2 years and 10 months by calling UmAlQuraCalendar methods.
date1 = cal.AddYears(date1, 2);
date1 = cal.AddMonths(date1, 10);
Console.WriteLine("After adding 2 years and 10 months in the {0} calendar,",
GetCalendarName(cal));
Console.WriteLine("{0:MMMM d, yyyy} in the Gregorian calendar is equivalent to:", date1);
DisplayCalendarInfo(cal, date1);
}
private static void DisplayCalendarInfo(Calendar cal, DateTime date1)
{
Console.WriteLine(" Calendar: {0}", GetCalendarName(cal));
Console.WriteLine(" Era: {0}", cal.GetEra(date1));
Console.WriteLine(" Year: {0}", cal.GetYear(date1));
Console.WriteLine(" Month: {0}", cal.GetMonth(date1));
Console.WriteLine(" DayOfYear: {0}", cal.GetDayOfYear(date1));
Console.WriteLine(" DayOfMonth: {0}", cal.GetDayOfMonth(date1));
Console.WriteLine(" DayOfWeek: {0}\n", cal.GetDayOfWeek(date1));
}
private static string GetCalendarName(Calendar cal)
{
return cal.ToString().Replace("System.Globalization.", "").
Replace("Calendar", "");
}
}
// The example displays the following output:
// April 3, 2011 in the Gregorian calendar is equivalent to:
// Calendar: UmAlQura
// Era: 1
// Year: 1432
// Month: 4
// DayOfYear: 118
// DayOfMonth: 29
// DayOfWeek: Sunday
//
// After adding 2 years and 10 months in the UmAlQura calendar,
// January 1, 2014 in the Gregorian calendar is equivalent to:
// Calendar: UmAlQura
// Era: 1
// Year: 1435
// Month: 2
// DayOfYear: 59
// DayOfMonth: 29
// DayOfWeek: Wednesday
Imports System.Globalization
Module Example
Public Sub Main()
Dim date1 As Date = New Date(2011, 4, 3, New GregorianCalendar())
Dim cal As New UmAlQuraCalendar()
Console.WriteLine("{0:MMMM d, yyyy} in the Gregorian calendar is equivalent to:", date1)
DisplayCalendarInfo(cal, date1)
' Add 2 years and 10 months by calling UmAlQuraCalendar methods.
date1 = cal.AddYears(date1, 2)
date1 = cal.AddMonths(date1, 10)
Console.WriteLine("After adding 2 years and 10 months in the {0} calendar,",
GetCalendarName(cal))
Console.WriteLine("{0:MMMM d, yyyy} in the Gregorian calendar is equivalent to:", date1)
DisplayCalendarInfo(cal, date1)
End Sub
Private Sub DisplayCalendarInfo(cal As Calendar, date1 As Date)
Console.WriteLine(" Calendar: {0}", GetCalendarName(cal))
Console.WriteLine(" Era: {0}", cal.GetEra(date1))
Console.WriteLine(" Year: {0}", cal.GetYear(date1))
Console.WriteLine(" Month: {0}", cal.GetMonth(date1))
Console.WriteLine(" DayOfYear: {0}", cal.GetDayOfYear(date1))
Console.WriteLine(" DayOfMonth: {0}", cal.GetDayOfMonth(date1))
Console.WriteLine(" DayOfWeek: {0}", cal.GetDayOfWeek(date1))
Console.WriteLine()
End Sub
Private Function GetCalendarName(cal As Calendar) As String
Return cal.ToString().Replace("System.Globalization.", "").
Replace("Calendar", "")
End Function
End Module
' The example displays the following output:
' April 3, 2011 in the Gregorian calendar is equivalent to:
' Calendar: UmAlQura
' Era: 1
' Year: 1432
' Month: 4
' DayOfYear: 118
' DayOfMonth: 29
' DayOfWeek: Sunday
'
' After adding 2 years and 10 months in the UmAlQura calendar,
' January 1, 2014 in the Gregorian calendar is equivalent to:
' Calendar: UmAlQura
' Era: 1
' Year: 1435
' Month: 2
' DayOfYear: 59
' DayOfMonth: 29
' DayOfWeek: Wednesday
Comentários
A parte do dia do resultante DateTime será afetada se o dia resultante não for um dia válido no mês resultante do ano resultante. Ele é alterado para o último dia válido no mês resultante do ano resultante. A parte do ano do resultante DateTime será afetada se o mês resultante estiver fora do ano do especificado DateTime. Essa implementação dá suporte apenas à era atual. Portanto, uma exceção será gerada se o ano resultante estiver fora da era do especificado DateTime. A parte da hora do dia do resultante DateTime permanece a mesma que a especificada DateTime.
Por exemplo, se o mês especificado for Zulkadah, que tem 30 dias, o dia especificado será o 30º dia desse mês e o valor do months
parâmetro for 3, o ano resultante será um a mais do que o ano especificado, o mês resultante será Safar e o dia resultante será o 29º dia, que é o último dia em Safar.
Se o valor do months
parâmetro for negativo, o resultado DateTime será anterior ao especificado DateTime.
A Kind propriedade do valor retornado DateTime sempre é DateTimeKind.Unspecifiedigual a . Você pode preservar a Kind propriedade do time
parâmetro chamando o DateTime.SpecifyKind método , como mostra o exemplo a seguir.
returnTime = DateTime.SpecifyKind(cal.AddMonths(time, months), time.Kind);
returnTime = DateTime.SpecifyKind(cal.AddMonths(time, months), time.Kind)