DateTime.AddYears(Int32) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt einen neuen DateTime-Wert zurück, der die angegebene Anzahl von Jahren zum Wert dieser Instanz addiert.
public:
DateTime AddYears(int value);
public DateTime AddYears (int value);
member this.AddYears : int -> DateTime
Public Function AddYears (value As Integer) As DateTime
Parameter
- value
- Int32
Eine Anzahl von Jahren. Der value
-Parameter kann negativ oder positiv sein.
Gibt zurück
Ein Objekt, dessen Wert die Summe aus der von dieser Instanz dargestellten Datums- und Uhrzeitangabe und der durch value
dargestellten Anzahl von Jahren ist.
Ausnahmen
value
oder das resultierende DateTime ist kleiner als DateTime.MinValue oder größer als DateTime.MaxValue.
Hinweise
Diese Methode ändert den Wert dieses DateTime Objekts nicht. Stattdessen wird ein neues DateTime -Objekt zurückgegeben, dessen Wert das Ergebnis dieses Vorgangs ist.
Die AddYears Methode berechnet das resultierende Jahr unter Berücksichtigung von Schaltjahren. Der Monats- und Tageszeitteil des resultierenden DateTime Objekts bleibt identisch mit diesem instance.
Wenn der aktuelle instance den Schalttag in einem Schaltjahr darstellt, hängt der Rückgabewert vom Zieldatum ab:
Wenn
value
+ DateTime.Year auch ein Schaltjahr ist, stellt der Rückgabewert den Schalttag in diesem Jahr dar. Wenn beispielsweise vier Jahre zum 29. Februar 2012 hinzugefügt werden, ist das zurückgegebene Datum der 29. Februar 2016.Wenn
value
+ DateTime.Year kein Schaltjahr ist, stellt der Rückgabewert den Tag vor dem Schalttag in diesem Jahr dar. Wenn beispielsweise ein Jahr zum 29. Februar 2012 hinzugefügt wird, ist das zurückgegebene Datum der 28. Februar 2013.
Das folgende Beispiel veranschaulicht die Verwendung der AddYears -Methode mit einem DateTime Wert, der einen Schaltjahrtag darstellt. Es zeigt das Datum für die fünfzehn Jahre vor und die fünfzehn Jahre, die auf den 29. Februar 2000 folgen.
using System;
public class Example
{
public static void Main()
{
DateTime baseDate = new DateTime(2000, 2, 29);
Console.WriteLine(" Base Date: {0:d}\n", baseDate);
// Show dates of previous fifteen years.
for (int ctr = -1; ctr >= -15; ctr--)
Console.WriteLine("{0,2} year(s) ago: {1:d}",
Math.Abs(ctr), baseDate.AddYears(ctr));
Console.WriteLine();
// Show dates of next fifteen years.
for (int ctr = 1; ctr <= 15; ctr++)
Console.WriteLine("{0,2} year(s) from now: {1:d}",
ctr, baseDate.AddYears(ctr));
}
}
// The example displays the following output:
// Base Date: 2/29/2000
//
// 1 year(s) ago: 2/28/1999
// 2 year(s) ago: 2/28/1998
// 3 year(s) ago: 2/28/1997
// 4 year(s) ago: 2/29/1996
// 5 year(s) ago: 2/28/1995
// 6 year(s) ago: 2/28/1994
// 7 year(s) ago: 2/28/1993
// 8 year(s) ago: 2/29/1992
// 9 year(s) ago: 2/28/1991
// 10 year(s) ago: 2/28/1990
// 11 year(s) ago: 2/28/1989
// 12 year(s) ago: 2/29/1988
// 13 year(s) ago: 2/28/1987
// 14 year(s) ago: 2/28/1986
// 15 year(s) ago: 2/28/1985
//
// 1 year(s) from now: 2/28/2001
// 2 year(s) from now: 2/28/2002
// 3 year(s) from now: 2/28/2003
// 4 year(s) from now: 2/29/2004
// 5 year(s) from now: 2/28/2005
// 6 year(s) from now: 2/28/2006
// 7 year(s) from now: 2/28/2007
// 8 year(s) from now: 2/29/2008
// 9 year(s) from now: 2/28/2009
// 10 year(s) from now: 2/28/2010
// 11 year(s) from now: 2/28/2011
// 12 year(s) from now: 2/29/2012
// 13 year(s) from now: 2/28/2013
// 14 year(s) from now: 2/28/2014
// 15 year(s) from now: 2/28/2015
open System
let baseDate = DateTime(2000, 2, 29)
printfn $" Base Date: {baseDate:d}\n"
// Show dates of previous fifteen years.
for i = -1 downto -15 do
printfn $"{-i,2} year(s) ago: {baseDate.AddYears i:d}"
printfn ""
// Show dates of next fifteen years.
for i = 1 to 15 do
printfn $"{i,2} year(s) from now: {baseDate.AddYears i:d}"
// The example displays the following output:
// Base Date: 2/29/2000
//
// 1 year(s) ago: 2/28/1999
// 2 year(s) ago: 2/28/1998
// 3 year(s) ago: 2/28/1997
// 4 year(s) ago: 2/29/1996
// 5 year(s) ago: 2/28/1995
// 6 year(s) ago: 2/28/1994
// 7 year(s) ago: 2/28/1993
// 8 year(s) ago: 2/29/1992
// 9 year(s) ago: 2/28/1991
// 10 year(s) ago: 2/28/1990
// 11 year(s) ago: 2/28/1989
// 12 year(s) ago: 2/29/1988
// 13 year(s) ago: 2/28/1987
// 14 year(s) ago: 2/28/1986
// 15 year(s) ago: 2/28/1985
//
// 1 year(s) from now: 2/28/2001
// 2 year(s) from now: 2/28/2002
// 3 year(s) from now: 2/28/2003
// 4 year(s) from now: 2/29/2004
// 5 year(s) from now: 2/28/2005
// 6 year(s) from now: 2/28/2006
// 7 year(s) from now: 2/28/2007
// 8 year(s) from now: 2/29/2008
// 9 year(s) from now: 2/28/2009
// 10 year(s) from now: 2/28/2010
// 11 year(s) from now: 2/28/2011
// 12 year(s) from now: 2/29/2012
// 13 year(s) from now: 2/28/2013
// 14 year(s) from now: 2/28/2014
// 15 year(s) from now: 2/28/2015
Module Example
Public Sub Main()
Dim baseDate As Date = #2/29/2000#
Console.WriteLine(" Base Date: {0:d}", baseDate)
Console.WriteLine()
' Show dates of previous fifteen years.
For ctr As Integer = -1 To -15 Step -1
Console.WriteLine("{0,3} years ago: {1:d}",
ctr, baseDate.AddYears(ctr))
Next
Console.WriteLine()
' Show dates of next fifteen years.
For ctr As Integer = 1 To 15
Console.WriteLine("{0,3} years from now: {1:d}",
ctr, baseDate.AddYears(ctr))
Next
End Sub
End Module
' The example displays the following output:
' Base Date: 2/29/2000
'
' 1 year(s) ago: 2/28/1999
' 2 year(s) ago: 2/28/1998
' 3 year(s) ago: 2/28/1997
' 4 year(s) ago: 2/29/1996
' 5 year(s) ago: 2/28/1995
' 6 year(s) ago: 2/28/1994
' 7 year(s) ago: 2/28/1993
' 8 year(s) ago: 2/29/1992
' 9 year(s) ago: 2/28/1991
' 10 year(s) ago: 2/28/1990
' 11 year(s) ago: 2/28/1989
' 12 year(s) ago: 2/29/1988
' 13 year(s) ago: 2/28/1987
' 14 year(s) ago: 2/28/1986
' 15 year(s) ago: 2/28/1985
'
' 1 year(s) from now: 2/28/2001
' 2 year(s) from now: 2/28/2002
' 3 year(s) from now: 2/28/2003
' 4 year(s) from now: 2/29/2004
' 5 year(s) from now: 2/28/2005
' 6 year(s) from now: 2/28/2006
' 7 year(s) from now: 2/28/2007
' 8 year(s) from now: 2/29/2008
' 9 year(s) from now: 2/28/2009
' 10 year(s) from now: 2/28/2010
' 11 year(s) from now: 2/28/2011
' 12 year(s) from now: 2/29/2012
' 13 year(s) from now: 2/28/2013
' 14 year(s) from now: 2/28/2014
' 15 year(s) from now: 2/28/2015