JulianCalendar.AddYears(DateTime, Int32) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
Parameter
- years
- Int32
Jumlah tahun yang akan ditambahkan.
Mengembalikan
DateTime Hasil dari menambahkan jumlah tahun yang ditentukan ke yang ditentukanDateTime.
Pengecualian
DateTime Hasilnya berada di luar rentang yang didukung.
Contoh
Contoh kode berikut menampilkan nilai beberapa komponen dari dalam DateTime hal kalender Julian.
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
Keterangan
Bagian hari dari hasil DateTime terpengaruh jika hari yang dihasilkan bukan hari yang valid pada bulan yang dihasilkan dari tahun yang dihasilkan. Ini diubah ke hari terakhir yang valid pada bulan yang dihasilkan dari tahun yang dihasilkan. Bagian bulan dari hasil DateTime tetap sama dengan yang ditentukan DateTime. Implementasi ini hanya mendukung era saat ini. Oleh karena itu, ArgumentException dilemparkan jika tahun yang dihasilkan berada di luar era yang ditentukan DateTime. Bagian waktu hari dari yang dihasilkan DateTime tetap sama dengan yang ditentukan DateTime.
Misalnya, Februari memiliki 28 hari, kecuali selama tahun kabut ketika memiliki 29 hari. Jika tanggal yang ditentukan adalah hari ke-29 Februari dalam tahun kampung dan nilainya years
adalah 1, tanggal yang dihasilkan adalah hari ke-28 Februari pada tahun berikutnya.
Jika years
negatif, hasilnya DateTime lebih awal dari yang ditentukan DateTime.
Properti Kind dari nilai yang dikembalikan DateTime selalu sama dengan DateTimeKind.Unspecified. Anda dapat mempertahankan Kind properti time
parameter dengan memanggil DateTime.SpecifyKind metode , seperti yang ditunjukkan contoh berikut.
returnTime = DateTime.SpecifyKind(cal.AddYears(time, years), time.Kind);
returnTime = DateTime.SpecifyKind(cal.AddYears(time, years), time.Kind)