UmAlQuraCalendar.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.
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)