GregorianCalendar.AddMonths(DateTime, Int32) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
public:
override DateTime AddMonths(DateTime time, int months);
public override DateTime AddMonths(DateTime time, int months);
override this.AddMonths : DateTime * int -> DateTime
abstract member AddMonths : DateTime * int -> DateTime
override this.AddMonths : DateTime * int -> DateTime
Public Overrides Function AddMonths (time As DateTime, months As Integer) As DateTime
Parameters
- months
- Int32
Het aantal maanden dat moet worden toegevoegd.
Retouren
Dit DateTime resulteert in het toevoegen van het opgegeven aantal maanden aan de opgegeven DateTime.
Uitzonderingen
Het resultaat DateTime valt buiten het ondersteunde bereik.
Voorbeelden
In het volgende codevoorbeeld worden de waarden weergegeven van verschillende onderdelen van een DateTime in termen van de Gregoriaanse kalender.
using System;
using System.Globalization;
public class SamplesGregorianCalendar {
public static void Main() {
// Sets a DateTime to April 3, 2002 of the Gregorian calendar.
DateTime myDT = new DateTime( 2002, 4, 3, new GregorianCalendar() );
// Creates an instance of the GregorianCalendar.
GregorianCalendar myCal = new GregorianCalendar();
// Displays the values of the DateTime.
Console.WriteLine( "April 3, 2002 of the Gregorian calendar:" );
DisplayValues( myCal, myDT );
// Adds two years and ten months.
myDT = myCal.AddYears( myDT, 2 );
myDT = myCal.AddMonths( myDT, 10 );
// Displays the values of the DateTime.
Console.WriteLine( "After adding two years and ten months:" );
DisplayValues( myCal, myDT );
}
public static void DisplayValues( Calendar myCal, DateTime myDT ) {
Console.WriteLine( " Era: {0}", myCal.GetEra( myDT ) );
Console.WriteLine( " Year: {0}", myCal.GetYear( myDT ) );
Console.WriteLine( " Month: {0}", myCal.GetMonth( myDT ) );
Console.WriteLine( " DayOfYear: {0}", myCal.GetDayOfYear( myDT ) );
Console.WriteLine( " DayOfMonth: {0}", myCal.GetDayOfMonth( myDT ) );
Console.WriteLine( " DayOfWeek: {0}", myCal.GetDayOfWeek( myDT ) );
Console.WriteLine();
}
}
/*
This code produces the following output.
April 3, 2002 of the Gregorian calendar:
Era: 1
Year: 2002
Month: 4
DayOfYear: 93
DayOfMonth: 3
DayOfWeek: Wednesday
After adding two years and ten months:
Era: 1
Year: 2005
Month: 2
DayOfYear: 34
DayOfMonth: 3
DayOfWeek: Thursday
*/
Imports System.Globalization
Public Class SamplesGregorianCalendar
Public Shared Sub Main()
' Sets a DateTime to April 3, 2002 of the Gregorian calendar.
Dim myDT As New DateTime(2002, 4, 3, New GregorianCalendar())
' Creates an instance of the GregorianCalendar.
Dim myCal As New GregorianCalendar()
' Displays the values of the DateTime.
Console.WriteLine("April 3, 2002 of the Gregorian calendar:")
DisplayValues(myCal, myDT)
' Adds two years and ten months.
myDT = myCal.AddYears(myDT, 2)
myDT = myCal.AddMonths(myDT, 10)
' Displays the values of the DateTime.
Console.WriteLine("After adding two years and ten months:")
DisplayValues(myCal, myDT)
End Sub
Public Shared Sub DisplayValues(myCal As Calendar, myDT As DateTime)
Console.WriteLine(" Era: {0}", myCal.GetEra(myDT))
Console.WriteLine(" Year: {0}", myCal.GetYear(myDT))
Console.WriteLine(" Month: {0}", myCal.GetMonth(myDT))
Console.WriteLine(" DayOfYear: {0}", myCal.GetDayOfYear(myDT))
Console.WriteLine(" DayOfMonth: {0}", myCal.GetDayOfMonth(myDT))
Console.WriteLine(" DayOfWeek: {0}", myCal.GetDayOfWeek(myDT))
Console.WriteLine()
End Sub
End Class
'This code produces the following output.
'
'April 3, 2002 of the Gregorian calendar:
' Era: 1
' Year: 2002
' Month: 4
' DayOfYear: 93
' DayOfMonth: 3
' DayOfWeek: Wednesday
'
'After adding two years and ten months:
' Era: 1
' Year: 2005
' Month: 2
' DayOfYear: 34
' DayOfMonth: 3
' DayOfWeek: Thursday
Opmerkingen
Het daggedeelte van het resultaat DateTime wordt beïnvloed als de resulterende dag geen geldige dag is in de resulterende maand van het resulterende jaar. Deze wordt gewijzigd in de laatste geldige dag in de resulterende maand van het resulterende jaar. Het jaargedeelte van het resultaat DateTime wordt beïnvloed als de resulterende maand buiten het opgegeven DateTimejaar valt. Deze implementatie ondersteunt alleen het huidige tijdperk. Daarom wordt ArgumentException gegooid als het resulterende jaar buiten het tijdperk van de opgegeven DateTime. Het tijdstip van de dag van het resulterende DateTime gedeelte blijft hetzelfde als de opgegeven DateTime.
Als de opgegeven maand bijvoorbeeld oktober is, die 31 dagen heeft, is de opgegeven dag de 31e dag van die maand en is de waarde van de months parameter 6, het resulterende jaar één meer dan het opgegeven jaar, de resulterende maand is april en de resulterende dag de 30e dag, de laatste dag in april.
Als de waarde van de months parameter negatief is, is het resultaat DateTime eerder dan de opgegeven DateTime.
De Kind eigenschap van de geretourneerde DateTime waarde is DateTimeKind.Unspecifiedaltijd gelijk aan. U kunt de Kind eigenschap van de time parameter behouden door de DateTime.SpecifyKind methode aan te roepen, zoals in het volgende voorbeeld wordt weergegeven.
returnTime = DateTime.SpecifyKind(cal.AddMonths(time, months), time.Kind);
returnTime = DateTime.SpecifyKind(cal.AddMonths(time, months), time.Kind)