DateTime.Day Property (System)

Switch View :
ScriptFree
.NET Framework Class Library
DateTime.Day Property

Gets the day of the month represented by this instance.

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

Visual Basic
Public ReadOnly Property Day As Integer
C#
public int Day { get; }
Visual C++
public:
property int Day {
	int get ();
}
F#
member Day : int

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.

Visual Basic

' Return day of 1/13/2009.
Dim dateGregorian As Date = #1/13/2009#
Console.WriteLine(dateGregorian.Day)
' 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.
Console.WriteLine(dateHijri.Day)                   
' Displays 13 (Gregorian date).

' Display day of date in Hijri calendar.
Console.WriteLine(hijri.GetDayOfMonth(dateHijri))  
' Displays 17 (Hijri date).


C#

// Return day of 1/13/2009.
DateTime dateGregorian = new DateTime(2009, 1, 13);
Console.WriteLine(dateGregorian.Day);              
// 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.
Console.WriteLine(dateHijri.Day);                    
// Displays 13 (Gregorian day).

// Display day of date in Hijri calendar.
Console.WriteLine(hijri.GetDayOfMonth(dateHijri));   
// 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.

Visual Basic

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).
Console.WriteLine(hijriDate.ToString("dd-MM-yyyy"))
' Displays 17-01-1430.

' Display day of 17th of Muharram
Console.WriteLine(hijriDate.Day)
' Displays 13 (corresponding day of January in Gregorian calendar).

' Display day of 17th of Muharram in Hijri calendar.
Console.WriteLine(Thread.CurrentThread.CurrentCulture.Calendar.GetDayOfMonth(hijriDate))
' Displays 17.

Thread.CurrentThread.CurrentCulture = originalCulture  


C#

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).
Console.WriteLine(hijriDate.ToString("dd-MM-yyyy"));
// Displays 17-01-1430.

// Display day of 17th of Muharram
Console.WriteLine(hijriDate.Day);
// Displays 13 (corresponding day of January in Gregorian calendar).

// Display day of 17th of Muharram in Hijri calendar.
Console.WriteLine(Thread.CurrentThread.CurrentCulture.Calendar.GetDayOfMonth(hijriDate));
// Displays 17.

Thread.CurrentThread.CurrentCulture = originalCulture;  


Examples

The following example demonstrates the Day property.

Visual Basic

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


C#

			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;


Visual C++

System::DateTime moment = 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

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library
Platforms

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
See Also

Reference