DateTime.AddYears(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.
Retorna um novo DateTime que adiciona o número especificado de anos ao valor dessa instância.
public:
DateTime AddYears(int value);
public DateTime AddYears (int value);
member this.AddYears : int -> DateTime
Public Function AddYears (value As Integer) As DateTime
Parâmetros
- value
- Int32
Um número de anos. O parâmetro value
pode ser positivo ou negativo.
Retornos
Um objeto cujo valor é a soma da data e hora representada por essa instância e o número de anos representado por value
.
Exceções
value
ou o resultante DateTime é menor que DateTime.MinValue ou maior que DateTime.MaxValue.
Comentários
Esse método não altera o valor desse DateTime objeto. Em vez disso, retorna um novo DateTime objeto cujo valor é o resultado dessa operação.
O AddYears método calcula o ano resultante levando em conta os anos bissextos. A parte de mês e hora do dia do objeto resultante DateTime permanece a mesma que essa instância.
Se a instância atual representar o dia bissexto em um ano bissexto, o valor retornado dependerá da data de destino:
Se
value
+ DateTime.Year também for um ano bissexto, o valor retornado representará o dia bissexto nesse ano. Por exemplo, se quatro anos forem adicionados a 29 de fevereiro de 2012, a data retornada será 29 de fevereiro de 2016.Se
value
+ DateTime.Year não for um ano bissexto, o valor retornado representará o dia anterior ao dia bissexto naquele ano. Por exemplo, se um ano for adicionado a 29 de fevereiro de 2012, a data retornada será 28 de fevereiro de 2013.
O exemplo a seguir ilustra o uso do AddYears método com um DateTime valor que representa um dia bissexto. Exibe a data dos quinze anos anteriores e os quinze anos que se seguem a 29 de fevereiro de 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