EastAsianLunisolarCalendar.AddYears(DateTime, Int32) Method

Definition

Calculates the date that is the specified number of years away from the specified date.

C#
public override DateTime AddYears (DateTime time, int years);

Parameters

time
DateTime

The DateTime to which to add years.

years
Int32

The number of years to add.

Returns

A new DateTime that results from adding the specified number of years to the time parameter.

Exceptions

The result is outside the supported range of a DateTime.

Remarks

The day part of the resulting DateTime is affected if the resulting day is not a valid day in the resulting month of the resulting year. In this case, the day part is changed to the last valid day in the resulting month of the resulting year. The month part of the resulting DateTime remains the same as the specified DateTime. This implementation supports only the current era. Therefore, ArgumentException is thrown if the resulting year is outside the era of the specified DateTime. The time-of-day part of the resulting DateTime remains the same as the specified DateTime.

For example, February has 28 days, except during leap years when it has 29 days. If the specified date is the twenty-ninth day of February in a leap year and the value of the years parameter is 1, the resulting date will be the twenty-eighth day of February in the following year.

If years is negative, the resulting DateTime is earlier than the specified DateTime.

The Kind property of the returned DateTime value always equals DateTimeKind.Unspecified. You can preserve the Kind property of the time parameter by calling the DateTime.SpecifyKind method, as the following example shows.

C#
returnTime = DateTime.SpecifyKind(cal.AddYears(time, years), time.Kind);

Applies to

Product Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0