AddWeeks Method

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.

Namespace:  System.Globalization
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.DateTime
The DateTime that results from adding the specified number of weeks to the specified DateTime.

ExceptionCondition
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.


returnTime = DateTime.SpecifyKind(cal.AddWeeks(time, weeks), time.Kind)


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


Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Windows Phone

Show:
© 2017 Microsoft