DateTimeOffset.DayOfWeek Property

Definition

Gets the day of the week represented by the current DateTimeOffset object.

public:
 property DayOfWeek DayOfWeek { DayOfWeek get(); };
public DayOfWeek DayOfWeek { get; }
member this.DayOfWeek : DayOfWeek
Public ReadOnly Property DayOfWeek As DayOfWeek

Property Value

One of the enumeration values that indicates the day of the week of the current DateTimeOffset object.

Examples

The following example displays the weekday name of the first day of each month of the year 2008.

DateTimeOffset startOfMonth = new DateTimeOffset(2008, 1, 1, 0, 0, 0,
                                         DateTimeOffset.Now.Offset);
int year = startOfMonth.Year;
do
{
   Console.WriteLine("{0:MMM d, yyyy} is a {1}.", startOfMonth, startOfMonth.DayOfWeek);
   startOfMonth = startOfMonth.AddMonths(1);
}
while (startOfMonth.Year == year);
// This example writes the following output to the console:
//    Jan 1, 2008 is a Tuesday.
//    Feb 1, 2008 is a Friday.
//    Mar 1, 2008 is a Saturday.
//    Apr 1, 2008 is a Tuesday.
//    May 1, 2008 is a Thursday.
//    Jun 1, 2008 is a Sunday.
//    Jul 1, 2008 is a Tuesday.
//    Aug 1, 2008 is a Friday.
//    Sep 1, 2008 is a Monday.
//    Oct 1, 2008 is a Wednesday.
//    Nov 1, 2008 is a Saturday.
//    Dec 1, 2008 is a Monday.
let mutable startOfMonth = DateTimeOffset(2008, 1, 1, 0, 0, 0, DateTimeOffset.Now.Offset)
let year = startOfMonth.Year

while startOfMonth.Year = year do
    printfn $"""{startOfMonth.ToString "MMM d, yyyy"} is a {startOfMonth.DayOfWeek}."""
    startOfMonth <- startOfMonth.AddMonths 1

// This example writes the following output to the console:
//    Jan 1, 2008 is a Tuesday.
//    Feb 1, 2008 is a Friday.
//    Mar 1, 2008 is a Saturday.
//    Apr 1, 2008 is a Tuesday.
//    May 1, 2008 is a Thursday.
//    Jun 1, 2008 is a Sunday.
//    Jul 1, 2008 is a Tuesday.
//    Aug 1, 2008 is a Friday.
//    Sep 1, 2008 is a Monday.
//    Oct 1, 2008 is a Wednesday.
//    Nov 1, 2008 is a Saturday.
//    Dec 1, 2008 is a Monday.
Dim startOfMonth As New DateTimeOffset(#1/1/2008#, _
                                      DateTimeOffset.Now.Offset)
Dim year As Integer = startOfMonth.Year
Do While startOfMonth.Year = year
   Console.WriteLine("{0:MMM d, yyyy} is a {1}.", _
                     startOfMonth, startOfMonth.DayOfWeek)
   startOfMonth = startOfMonth.AddMonths(1)                   
Loop      
' This example writes the following output to the console:
'    Jan 1, 2008 is a Tuesday.
'    Feb 1, 2008 is a Friday.
'    Mar 1, 2008 is a Saturday.
'    Apr 1, 2008 is a Tuesday.
'    May 1, 2008 is a Thursday.
'    Jun 1, 2008 is a Sunday.
'    Jul 1, 2008 is a Tuesday.
'    Aug 1, 2008 is a Friday.
'    Sep 1, 2008 is a Monday.
'    Oct 1, 2008 is a Wednesday.
'    Nov 1, 2008 is a Saturday.
'    Dec 1, 2008 is a Monday.

Remarks

The value of the constants in the DayOfWeek enumeration ranges from DayOfWeek.Sunday to DayOfWeek.Saturday. If cast to an integer, its value ranges from zero (which indicates DayOfWeek.Sunday) to six (which indicates DayOfWeek.Saturday).

You can also display the weekday name of a particular date by using the "D" format specifier or the "dddd" custom format specifier. For example:

DateTimeOffset displayDate = new DateTimeOffset(2008, 1, 1, 13, 18, 00,
                                                DateTimeOffset.Now.Offset);
Console.WriteLine("{0:D}", displayDate);  // Output: Tuesday, January 01, 2008
Console.WriteLine("{0:d} is a {0:dddd}.",
                  displayDate);           // Output: 1/1/2008 is a Tuesday.
let displayDate = DateTimeOffset(2008, 1, 1, 13, 18, 00, DateTimeOffset.Now.Offset)
printfn $"{displayDate:D}"                          // Output: Tuesday, January 01, 2008
printfn $"{displayDate:d} is a {displayDate:dddd}." // Output: 1/1/2008 is a Tuesday.
Dim displayDate As New DateTimeOffset(#1/1/2008 1:18PM#, _
                                      DateTimeOffset.Now.Offset)
Console.WriteLine("{0:D}", displayDate)    ' Output: Tuesday, January 01, 2008                     
Console.WriteLine("{0:d} is a {0:dddd}.", _
                  displayDate)             ' Output: 1/1/2008 is a Tuesday.

Note that the string returned by calling the ToString method of the DayOfWeek enumeration member that is returned by this property is not localized. To extract a string that contains the weekday name of the current culture or of a specific culture, call the ToString method with the "dddd" custom format specifier. For example, the following code displays the weekday name for a date using the fr-fr culture.

DateTimeOffset thisDate = new DateTimeOffset(2007, 6, 1, 6, 15, 0,
                                             DateTimeOffset.Now.Offset);
string weekdayName = thisDate.ToString("dddd",
                                       new CultureInfo("fr-fr"));
Console.WriteLine(weekdayName);                  // Displays vendredi
let thisDate = DateTimeOffset(2007, 6, 1, 6, 15, 0, DateTimeOffset.Now.Offset)
let weekdayName = thisDate.ToString("dddd", CultureInfo "fr-fr")
printfn $"{weekdayName}"                  // Displays vendredi
Dim thisDate As New DateTimeOffset(#6/1/2007 6:15AM#, _
                                      DateTimeOffset.Now.Offset)
Dim weekdayName As String = thisDate.ToString("dddd", _
                            New CultureInfo("fr-fr")) 
Console.WriteLine(weekdayName)                        ' Displays vendredi

Applies to