DateTime.Day Property

Gets the day of the month represented by this instance.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

Syntax

'Declaration
Public ReadOnly Property Day As Integer
public int Day { get; }

Property Value

Type: System.Int32
The day component, expressed as a value between 1 and 31.

Remarks

The Day property always returns the day of the month in the Gregorian calendar, even if the current DateTime value was instantiated using some other calendar or if the current thread culture's default calendar is not the Gregorian calendar. To retrieve the day of the month of a particular date using some other calendar, call that calendar's Calendar.GetDayOfMonth method. The following example uses both the Day property and the HijriCalendar.GetDayOfMonth method to retrieve the day of the month for a DateTime value that is instantiated using the Hijri calendar.

' Return day of 1/13/2009.
Dim dateGregorian As Date = #1/13/2009#
outputBlock.Text += dateGregorian.Day & vbCrLf
' Displays 13 (Gregorian date).

' Create date of 1/13/2009 using Hijri calendar.
Dim hijri As New HijriCalendar()
Dim dateHijri As Date = New Date(1430, 1, 17, hijri)
' Return day of date created using Hijri calendar.
outputBlock.Text += dateHijri.Day & vbCrLf
' Displays 13 (Gregorian date).

' Display day of date in Hijri calendar.
outputBlock.Text += hijri.GetDayOfMonth(dateHijri) & vbCrLf
' Displays 17 (Hijri date).
// Return day of 1/13/2009.
DateTime dateGregorian = new DateTime(2009, 1, 13);
outputBlock.Text += dateGregorian.Day + "\n";
// Displays 13 (Gregorian day).

// Create date of 1/13/2009 using Hijri calendar.
HijriCalendar hijri = new HijriCalendar();
DateTime dateHijri = new DateTime(1430, 1, 17, hijri);
// Return day of date created using Hijri calendar.
outputBlock.Text += dateHijri.Day + "\n";
// Displays 13 (Gregorian day).

// Display day of date in Hijri calendar.
outputBlock.Text += hijri.GetDayOfMonth(dateHijri) + "\n";
// Displays 17 (Hijri day).

Similarly, the following example uses both the Day property and the HijriCalendar.GetDayOfMonth method to retrieve the day of the month when the current thread culture is ar-SA, which uses Hijri as its default calendar.

Dim originalCulture As CultureInfo = Thread.CurrentThread.CurrentCulture

' Change current culture to ar-SA.
Dim ci As New CultureInfo("ar-SA")
Thread.CurrentThread.CurrentCulture = ci

Dim hijriDate As New Date(1430, 1, 17, _
                          Thread.CurrentThread.CurrentCulture.Calendar)
' Display date (uses calendar of current culture by default).
outputBlock.Text += hijriDate.ToString("dd-MM-yyyy") & vbCrLf
' Displays 17-01-1430.

' Display day of 17th of Muharram
outputBlock.Text += hijriDate.Day & vbCrLf
' Displays 13 (corresponding day of January in Gregorian calendar).

' Display day of 17th of Muharram in Hijri calendar.
outputBlock.Text += Thread.CurrentThread.CurrentCulture.Calendar.GetDayOfMonth(hijriDate) & vbCrLf
' Displays 17.

Thread.CurrentThread.CurrentCulture = originalCulture
CultureInfo originalCulture = Thread.CurrentThread.CurrentCulture;

// Change current culture to ar-SA.
CultureInfo ci = new CultureInfo("ar-SA");
Thread.CurrentThread.CurrentCulture = ci;

DateTime hijriDate = new DateTime(1430, 1, 17,
                         Thread.CurrentThread.CurrentCulture.Calendar);
// Display date (uses calendar of current culture by default).
outputBlock.Text += hijriDate.ToString("dd-MM-yyyy") + "\n";
// Displays 17-01-1430.

// Display day of 17th of Muharram
outputBlock.Text += hijriDate.Day + "\n";
// Displays 13 (corresponding day of January in Gregorian calendar).

// Display day of 17th of Muharram in Hijri calendar.
outputBlock.Text += Thread.CurrentThread.CurrentCulture.Calendar.GetDayOfMonth(hijriDate) + "\n";
// Displays 17.

Thread.CurrentThread.CurrentCulture = originalCulture;

Examples

The following example demonstrates the Day property.

Dim moment As New System.DateTime(1999, 1, 13, 3, 57, 32, 11)

' Year gets 1999.
Dim year As Integer = moment.Year

' Month gets 1 (January).
Dim month As Integer = moment.Month

' Day gets 13.
Dim day As Integer = moment.Day

' Hour gets 3.
Dim hour As Integer = moment.Hour

' Minute gets 57.
Dim minute As Integer = moment.Minute

' Second gets 32.
Dim second As Integer = moment.Second

' Millisecond gets 11.
Dim millisecond As Integer = moment.Millisecond
System.DateTime moment = new System.DateTime(
                        1999, 1, 13, 3, 57, 32, 11);
// Year gets 1999.
int year = moment.Year;

// Month gets 1 (January).
int month = moment.Month;

// Day gets 13.
int day = moment.Day;

// Hour gets 3.
int hour = moment.Hour;

// Minute gets 57.
int minute = moment.Minute;

// Second gets 32.
int second = moment.Second;

// Millisecond gets 11.
int millisecond = moment.Millisecond;

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.