Calendar.AddWeeks Method
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Returns a DateTime that is the specified number of weeks away from the specified DateTime.
Assembly: mscorlib (in mscorlib.dll)
'Declaration Public Overridable Function AddWeeks ( _ time As DateTime, _ weeks As Integer _ ) As DateTime
Parameters
- time
- Type: System.DateTime
The DateTime to which to add weeks.
- weeks
- Type: System.Int32
The number of weeks to add.
Return Value
Type: System.DateTimeThe DateTime that results from adding the specified number of weeks to the specified DateTime.
| Exception | Condition |
|---|---|
| ArgumentException | The resulting DateTime is outside the supported range of this calendar. |
| ArgumentOutOfRangeException | weeks is outside the supported range of the DateTime return value. |
The weeks value is added to the specified DateTime. If weeks is negative, the resulting DateTime is earlier than the specified DateTime.
The month part of the resulting DateTime is affected if the resulting day is outside the month of the specified DateTime. The year part of the resulting DateTime is affected if the resulting month is outside the year of the specified DateTime. The era part of the resulting DateTime is affected 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.
In all .NET Framework classes derived from the Calendar class, a week is defined as seven days.
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.
The following code example demonstrates the members of the Calendar class.
Imports System.Globalization Public Class Example Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock) ' Sets a DateTime to April 3, 2002 of the Gregorian calendar. Dim myDT As New DateTime(2002, 4, 3, New GregorianCalendar()) ' Uses the default calendar of the InvariantCulture. Dim myCal As Calendar = CultureInfo.InvariantCulture.Calendar ' Displays the values of the DateTime. outputBlock.Text += String.Format("April 3, 2002 of the Gregorian calendar:") & vbCrLf DisplayValues(outputBlock, myCal, myDT) ' Adds 5 to every component of the DateTime. myDT = myCal.AddYears(myDT, 5) myDT = myCal.AddMonths(myDT, 5) myDT = myCal.AddWeeks(myDT, 5) myDT = myCal.AddDays(myDT, 5) myDT = myCal.AddHours(myDT, 5) myDT = myCal.AddMinutes(myDT, 5) myDT = myCal.AddSeconds(myDT, 5) myDT = myCal.AddMilliseconds(myDT, 5) ' Displays the values of the DateTime. outputBlock.Text &= "After adding 5 to each component of the DateTime:" & vbCrLf DisplayValues(outputBlock, myCal, myDT) End Sub Public Shared Sub DisplayValues(ByVal outputBlock As System.Windows.Controls.TextBlock, ByVal myCal As Calendar, ByVal myDT As DateTime) outputBlock.Text += String.Format(" Era: {0}", myCal.GetEra(myDT)) & vbCrLf outputBlock.Text += String.Format(" Year: {0}", myCal.GetYear(myDT)) & vbCrLf outputBlock.Text += String.Format(" Month: {0}", myCal.GetMonth(myDT)) & vbCrLf outputBlock.Text += String.Format(" DayOfYear: {0}", myCal.GetDayOfYear(myDT)) & vbCrLf outputBlock.Text += String.Format(" DayOfMonth: {0}", myCal.GetDayOfMonth(myDT)) & vbCrLf outputBlock.Text += String.Format(" DayOfWeek: {0}", myCal.GetDayOfWeek(myDT)) & vbCrLf outputBlock.Text += String.Format(" Hour: {0}", myCal.GetHour(myDT)) & vbCrLf outputBlock.Text += String.Format(" Minute: {0}", myCal.GetMinute(myDT)) & vbCrLf outputBlock.Text += String.Format(" Second: {0}", myCal.GetSecond(myDT)) & vbCrLf outputBlock.Text += String.Format(" Milliseconds: {0}", myCal.GetMilliseconds(myDT)) & vbCrLf outputBlock.Text &= vbCrLf End Sub End Class ' This example produces the following output. ' April 3, 2002 of the Gregorian calendar: ' Era: 1 ' Year: 2002 ' Month: 4 ' DayOfYear: 93 ' DayOfMonth: 3 ' DayOfWeek: Wednesday ' Hour: 0 ' Minute: 0 ' Second: 0 ' Milliseconds: 0 ' ' After adding 5 to each component of the DateTime: ' Era: 1 ' Year: 2007 ' Month: 10 ' DayOfYear: 286 ' DayOfMonth: 13 ' DayOfWeek: Saturday ' Hour: 5 ' Minute: 5 ' Second: 5 ' Milliseconds: 5