JulianCalendar.AddYears(DateTime, Int32) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
public:
override DateTime AddYears(DateTime time, int years);
public override DateTime AddYears (DateTime time, int years);
override this.AddYears : DateTime * int -> DateTime
Public Overrides Function AddYears (time As DateTime, years As Integer) As DateTime
Parametry
- years
- Int32
liczba lat do dodania.
Zwraca
Wynik DateTime , który wynika z dodania określonej liczby lat do określonej DateTimewartości .
Wyjątki
DateTime Wynik jest poza obsługiwanym zakresem.
Przykłady
Poniższy przykład kodu przedstawia wartości kilku składników DateTime kalendarza Juliana.
using namespace System;
using namespace System::Globalization;
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();
}
int main()
{
// Sets a DateTime to April 3, 2002 of the Gregorian calendar.
DateTime myDT = DateTime(2002,4,3,gcnew GregorianCalendar);
// Creates an instance of the JulianCalendar.
JulianCalendar^ myCal = gcnew JulianCalendar;
// Displays the values of the DateTime.
Console::WriteLine( "April 3, 2002 of the Gregorian calendar equals the following in the Julian 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 );
}
/*
This code produces the following output.
April 3, 2002 of the Gregorian calendar equals the following in the Julian calendar:
Era: 1
Year: 2002
Month: 3
DayOfYear: 80
DayOfMonth: 21
DayOfWeek: Wednesday
After adding two years and ten months:
Era: 1
Year: 2005
Month: 1
DayOfYear: 21
DayOfMonth: 21
DayOfWeek: Thursday
*/
using System;
using System.Globalization;
public class SamplesJulianCalendar {
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 JulianCalendar.
JulianCalendar myCal = new JulianCalendar();
// Displays the values of the DateTime.
Console.WriteLine( "April 3, 2002 of the Gregorian calendar equals the following in the Julian 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 equals the following in the Julian calendar:
Era: 1
Year: 2002
Month: 3
DayOfYear: 80
DayOfMonth: 21
DayOfWeek: Wednesday
After adding two years and ten months:
Era: 1
Year: 2005
Month: 1
DayOfYear: 21
DayOfMonth: 21
DayOfWeek: Thursday
*/
Imports System.Globalization
Public Class SamplesJulianCalendar
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 JulianCalendar.
Dim myCal As New JulianCalendar()
' Displays the values of the DateTime.
Console.WriteLine("April 3, 2002 of the Gregorian calendar equals the following in the Julian 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 equals the following in the Julian calendar:
' Era: 1
' Year: 2002
' Month: 3
' DayOfYear: 80
' DayOfMonth: 21
' DayOfWeek: Wednesday
'
'After adding two years and ten months:
' Era: 1
' Year: 2005
' Month: 1
' DayOfYear: 21
' DayOfMonth: 21
' DayOfWeek: Thursday
Uwagi
Część dnia wynikowego DateTime ma wpływ, jeśli wynikowy dzień nie jest prawidłowym dniem w wynikowym miesiącu wynikowego roku. Zostanie on zmieniony na ostatni prawidłowy dzień w wynikowym miesiącu wynikowego roku. Część miesiąca wynikowa DateTime pozostaje taka sama jak określona DateTimewartość . Ta implementacja obsługuje tylko bieżącą erę. W związku z tym jest zgłaszany, ArgumentException jeśli wynikowy rok jest poza erą określonego DateTime. Część czasu dnia wynikowego DateTime pozostaje taka sama jak określona DateTimewartość .
Na przykład luty ma 28 dni, z wyjątkiem lat przestępnych, gdy ma 29 dni. Jeśli określona data to 29 dzień lutego w roku przestępnym, a wartość years
to 1, wynikowa data to 28 dzień lutego w następnym roku.
Jeśli years
wartość jest ujemna, wynik DateTime jest wcześniejszy niż określony DateTime.
Właściwość Kind zwracanej DateTime wartości zawsze jest równa DateTimeKind.Unspecified. Właściwość parametru time
można zachowaćKind, wywołując metodęDateTime.SpecifyKind, jak pokazano w poniższym przykładzie.
returnTime = DateTime.SpecifyKind(cal.AddYears(time, years), time.Kind);
returnTime = DateTime.SpecifyKind(cal.AddYears(time, years), time.Kind)