UmAlQuraCalendar.AddMonths(DateTime, Int32) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Calcula una fecha que está a un número determinado de meses de una fecha 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
Fecha a la que se van a agregar los meses. La clase UmAlQuraCalendar solo admite las fechas comprendidas entre 30/04/1900 00.00.00 (calendario gregoriano) y 16/11/2077 23:59:59 (calendario gregoriano).
- months
- Int32
Número positivo o negativo de meses que se van a agregar.
Devoluciones
Fecha que es el resultado de sumar el número de meses especificado por el parámetro months
a la fecha especificada por el parámetro time
.
Excepciones
La fecha resultante está fuera del intervalo admitido por la clase UmAlQuraCalendar.
months
es menor que -120.000 o mayor que 120.000.
o bien
time
está fuera del intervalo admitido por este calendario.
Ejemplos
En el ejemplo siguiente se crea una instancia de un DateTime valor y se muestran los valores de varios de sus componentes en el calendario Um Al Qura. A continuación, llama a los AddYears métodos y AddMonths para agregar 2 años y 10 meses en el calendario Um Al Qura al valor de fecha. Por último, muestra de nuevo los valores de estos componentes de fecha en el calendario 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
Comentarios
La parte del día del resultado DateTime se ve afectada si el día resultante no es un día válido en el mes resultante del año resultante. Se cambia al último día válido en el mes resultante del año resultante. La parte del año resultante DateTime se ve afectada si el mes resultante está fuera del año del especificado DateTime. Esta implementación solo admite la era actual. Por lo tanto, se produce una excepción si el año resultante está fuera de la era del especificado DateTime. La parte de hora del día del resultado DateTime sigue siendo la misma que la especificada DateTime.
Por ejemplo, si el mes especificado es Zulkadah, que tiene 30 días, el día especificado es el día 30 de ese mes y el valor del months
parámetro es 3, el año resultante es uno más del año especificado, el mes resultante es Safar y el día resultante es el día 29, que es el último día de Safar.
Si el valor del months
parámetro es negativo, el resultado DateTime es anterior al especificado DateTime.
La Kind propiedad del valor devuelto DateTime siempre es igual a DateTimeKind.Unspecified. Puede conservar la Kind propiedad del time
parámetro llamando al DateTime.SpecifyKind método , como se muestra en el ejemplo siguiente.
returnTime = DateTime.SpecifyKind(cal.AddMonths(time, months), time.Kind);
returnTime = DateTime.SpecifyKind(cal.AddMonths(time, months), time.Kind)