DateTime.AddYears(Int32) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vrátí novou DateTime hodnotu, která k hodnotě této instance přičte zadaný počet roků.
public:
DateTime AddYears(int value);
public DateTime AddYears(int value);
member this.AddYears : int -> DateTime
Public Function AddYears (value As Integer) As DateTime
Parametry
- value
- Int32
Počet let. Parametr value může být záporný nebo kladný.
Návraty
Objekt, jehož hodnota je součet data a času reprezentované touto instancí a počtem roků reprezentovaných value.
Výjimky
value nebo výsledek DateTime je menší než DateTime.MinValue nebo větší než DateTime.MaxValue.
Poznámky
Tato metoda nemění hodnotu tohoto DateTime objektu. Místo toho vrátí nový DateTime objekt, jehož hodnota je výsledkem této operace.
Metoda AddYears vypočítá výsledný rok s ohledem na přestupné roky. Část měsíce a času dne výsledného DateTime objektu zůstává stejná jako tato instance.
Pokud aktuální instance představuje přestupný den v přestupném roce, návratová hodnota závisí na cílovém datu:
Pokud
value+ DateTime.Year je také přestupný rok, návratová hodnota představuje přestupný den v daném roce. Pokud se například do 29. února 2012 přidají čtyři roky, vrátí se datum 29. února 2016.Pokud
value+ DateTime.Year není přestupný rok, návratová hodnota představuje den před přestupovým dnem v daném roce. Pokud se například k 29. únoru 2012 přidá jeden rok, vrátí se datum 28. února 2013.
Následující příklad ukazuje použití AddYears metody s DateTime hodnotou, která představuje přestupný rok den. Zobrazuje datum patnácti let předcházejících a patnáct let, které následují 29. února 2000.
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