DateTimeOffset.DayOfWeek 属性

定义

获取由当前 DateTimeOffset 对象所表示的周中的某一天。

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

属性值

DayOfWeek

用于指示当前 DateTimeOffset 对象的星期几的枚举值之一。

示例

以下示例显示 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.

注解

枚举范围中的 DayOfWeek 常量的值从 DayOfWeek.SundayDayOfWeek.Saturday。 如果强制转换为整数,则其值范围为零 (,表示 DayOfWeek.Sunday) 到六 (,表示 DayOfWeek.Saturday) 。

还可以使用“D”格式说明符或“ddd”自定义格式说明符显示特定日期的工作日名称。 例如:

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.

请注意,通过调用 ToString 此属性返回的 DayOfWeek 枚举成员的方法返回的字符串未本地化。 若要提取包含当前区域性或特定区域性的工作日名称的字符串,请使用“dddd”自定义格式说明符调用 ToString 该方法。 例如,以下代码使用区域性显示日期的 fr-fr 工作日名称。

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

适用于