DateTime.AddYears(Int32) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Retourne un nouveau DateTime qui ajoute le nombre d’années spécifié à la valeur de cette instance.
public:
DateTime AddYears(int value);
public DateTime AddYears(int value);
member this.AddYears : int -> DateTime
Public Function AddYears (value As Integer) As DateTime
Paramètres
- value
- Int32
Un certain nombre d’années. Le value paramètre peut être négatif ou positif.
Retours
Objet dont la valeur est la somme de la date et de l’heure représentées par cette instance et le nombre d’années représentées par value.
Exceptions
value ou le résultat DateTime est inférieur à DateTime.MinValue ou supérieur à DateTime.MaxValue.
Remarques
Cette méthode ne modifie pas la valeur de cet DateTime objet. Au lieu de cela, il retourne un nouvel DateTime objet dont la valeur est le résultat de cette opération.
La AddYears méthode calcule l’année résultante en tenant compte des années bissextiles. La partie mois et heure du jour de l’objet résultant DateTime reste identique à celle de cette instance.
Si l’instance actuelle représente le jour bissextile dans une année bissextile, la valeur de retour dépend de la date cible :
S’il
value+ DateTime.Year s’agit également d’une année bissextile, la valeur de retour représente le jour bissextile de cette année. Par exemple, si quatre ans sont ajoutés au 29 février 2012, la date renvoyée est le 29 février 2016.Si
value+ DateTime.Year ce n’est pas une année bissextile, la valeur de retour représente le jour avant le jour bissextile de cette année. Par exemple, si un an est ajouté au 29 février 2012, la date renvoyée est le 28 février 2013.
L’exemple suivant illustre l’utilisation de la AddYears méthode avec une DateTime valeur qui représente un jour bissextile. Il affiche la date des quinze ans précédant et les quinze ans qui suivent le 29 février 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