Bagikan melalui


UmAlQuraCalendar.AddYears(DateTime, Int32) Metode

Definisi

Menghitung tanggal yang merupakan jumlah tahun tertentu dari tanggal awal yang ditentukan.

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

time
DateTime

Tanggal untuk menambahkan tahun. Kelas UmAlQuraCalendar hanya mendukung tanggal dari 30/04/1900 00.00.00 (tanggal Gregorian) hingga 16/11/2077 23:59:59 (tanggal Gregorian).

years
Int32

Jumlah positif atau negatif tahun yang akan ditambahkan.

Mengembalikan

Tanggal yang dihasilkan dengan menambahkan jumlah tahun yang ditentukan oleh years parameter ke tanggal yang ditentukan oleh time parameter.

Pengecualian

Tanggal yang dihasilkan berada di luar rentang yang didukung oleh UmAlQuraCalendar kelas .

years kurang dari -10.000 atau lebih besar dari 10.000.

-atau-

time berada di luar rentang yang didukung oleh kalender ini.

Contoh

Contoh berikut membuat instans DateTime nilai dan menampilkan nilai beberapa komponennya di kalender Um AL Qura. Selanjutnya, ia memanggil AddYears metode dan AddMonths untuk menambahkan 2 tahun dan 10 bulan di kalender Um Al Qura ke nilai tanggal. Akhirnya, ia kembali menampilkan nilai komponen tanggal ini di kalender Um Al Qura.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      DateTime date1 = new DateTime(2011, 4, 3, new GregorianCalendar());
      Calendar cal = new UmAlQuraCalendar();

      Console.WriteLine("{0:MMMM d, yyyy} in the Gregorian calendar is equivalent to:", date1);
      DisplayCalendarInfo(cal, date1);

      // Add 2 years and 10 months by calling UmAlQuraCalendar methods.
      date1 = cal.AddYears(date1, 2);
      date1 = cal.AddMonths(date1, 10);

      Console.WriteLine("After adding 2 years and 10 months in the {0} calendar,",
                        GetCalendarName(cal));
      Console.WriteLine("{0:MMMM d, yyyy} in the Gregorian calendar is equivalent to:", date1);
      DisplayCalendarInfo(cal, date1);
   }

   private static void DisplayCalendarInfo(Calendar cal, DateTime date1)
   {
      Console.WriteLine("   Calendar:   {0}", GetCalendarName(cal));
      Console.WriteLine("   Era:        {0}", cal.GetEra(date1));
      Console.WriteLine("   Year:       {0}", cal.GetYear(date1));
      Console.WriteLine("   Month:      {0}", cal.GetMonth(date1));
      Console.WriteLine("   DayOfYear:  {0}", cal.GetDayOfYear(date1));
      Console.WriteLine("   DayOfMonth: {0}", cal.GetDayOfMonth(date1));
      Console.WriteLine("   DayOfWeek:  {0}\n", cal.GetDayOfWeek(date1));
   }

   private static string GetCalendarName(Calendar cal)
   {
      return cal.ToString().Replace("System.Globalization.", "").
             Replace("Calendar", "");
   }
}
// The example displays the following output:
//    April 3, 2011 in the Gregorian calendar is equivalent to:
//       Calendar:   UmAlQura
//       Era:        1
//       Year:       1432
//       Month:      4
//       DayOfYear:  118
//       DayOfMonth: 29
//       DayOfWeek:  Sunday
//
//    After adding 2 years and 10 months in the UmAlQura calendar,
//    January 1, 2014 in the Gregorian calendar is equivalent to:
//       Calendar:   UmAlQura
//       Era:        1
//       Year:       1435
//       Month:      2
//       DayOfYear:  59
//       DayOfMonth: 29
//       DayOfWeek:  Wednesday
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim date1 As Date = New Date(2011, 4, 3, New GregorianCalendar())
      Dim cal As New UmAlQuraCalendar()
      
      Console.WriteLine("{0:MMMM d, yyyy} in the Gregorian calendar is equivalent to:", date1)
      DisplayCalendarInfo(cal, date1)
            
      ' Add 2 years and 10 months by calling UmAlQuraCalendar methods.
      date1 = cal.AddYears(date1, 2)
      date1 = cal.AddMonths(date1, 10)       

      Console.WriteLine("After adding 2 years and 10 months in the {0} calendar,", 
                        GetCalendarName(cal))
      Console.WriteLine("{0:MMMM d, yyyy} in the Gregorian calendar is equivalent to:", date1)
      DisplayCalendarInfo(cal, date1)
   End Sub
   
   Private Sub DisplayCalendarInfo(cal As Calendar, date1 As Date)
      Console.WriteLine("   Calendar:   {0}", GetCalendarName(cal))    
      Console.WriteLine("   Era:        {0}", cal.GetEra(date1))
      Console.WriteLine("   Year:       {0}", cal.GetYear(date1))
      Console.WriteLine("   Month:      {0}", cal.GetMonth(date1))
      Console.WriteLine("   DayOfYear:  {0}", cal.GetDayOfYear(date1))
      Console.WriteLine("   DayOfMonth: {0}", cal.GetDayOfMonth(date1))
      Console.WriteLine("   DayOfWeek:  {0}", cal.GetDayOfWeek(date1))
      Console.WriteLine()
   End Sub
   
   Private Function GetCalendarName(cal As Calendar) As String
      Return cal.ToString().Replace("System.Globalization.", "").
             Replace("Calendar", "")   
   End Function
End Module
' The example displays the following output:
'    April 3, 2011 in the Gregorian calendar is equivalent to:
'       Calendar:   UmAlQura
'       Era:        1
'       Year:       1432
'       Month:      4
'       DayOfYear:  118
'       DayOfMonth: 29
'       DayOfWeek:  Sunday
'    
'    After adding 2 years and 10 months in the UmAlQura calendar,
'    January 1, 2014 in the Gregorian calendar is equivalent to:
'       Calendar:   UmAlQura
'       Era:        1
'       Year:       1435
'       Month:      2
'       DayOfYear:  59
'       DayOfMonth: 29
'       DayOfWeek:  Wednesday

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 menjadi hari terakhir yang valid pada bulan yang dihasilkan dari tahun yang dihasilkan. Bagian bulan dari yang dihasilkan DateTime tetap sama dengan yang ditentukan DateTime. Implementasi ini hanya mendukung era saat ini. Oleh karena itu, pengecualian dilemparkan jika tahun yang dihasilkan berada di luar era yang ditentukan DateTime. Bagian waktu hari dari hasil DateTime tetap sama dengan yang ditentukan DateTime.

Misalnya, Zulhijjah memiliki 29 hari, kecuali selama tahun kabisat ketika memiliki 30 hari. Jika tanggal yang ditentukan adalah hari ke-30 Zulhijjah dalam tahun kabisat dan nilai years parameter adalah 1, tanggal yang dihasilkan adalah hari ke-29 Zulhijjah 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)

Berlaku untuk