簡體   English   中英

C#:將初始DayOfWeek設置為星期一而不是星期日

[英]C#: Set initial DayOfWeek as Monday not Sunday

有沒有辦法將第一個DayOfWeek設置為星期一= 0而不是星期日?

(int)dateList[0].DayOfWeek == 0) // 0 = Sunday

您需要創建自定義文化,並將初始DayOfWeek指定為星期一。 您需要將自定義文化的實例設置為通常用於訪問文化信息的任何上下文(即Thread.CurrentCulture )。 以下文章將幫助您開始創建自定義文化:

如何:創建自定義文化

編輯:

我只是重讀了你的問題,我注意到了一些事情。 您無法更改DayOfWeek屬性...這只是一個枚舉值。 您需要將DayOfWeek與CultureInfo.DateTimeFormat屬性的FirstDayOfWeek屬性進行比較:

dateList[0].DayOfWeek == Thread.CurrentCulture.DateTimeFormat.FirstDayOfWeek

默認情況下, FirstDayOfWeekSunday 如果您創建了自定義文化,則可能是您選擇的一周中的任何一天(即Monday )。

DayOfWeek是一個enum ,所以你不能改變它。 在過去,我只是調整了我存儲的值來補償,你可能需要做類似的事情。 我需要0 =未設置。

只是為了搜索這個問題的人來完成這個,這是我的簡單解決方法(VB.NET):

Private Function GetTrueDayOfWeek(DayOfWeekUS As Int16)
    Dim RetVal As Int16 = 0
    If DayOfWeekUS = 0 Then
        RetVal = 7
    Else
        RetVal = DayOfWeekUS
    End If
    Return RetVal
End Function

用法:

Dim TrueDayInWeek as int16
TrueDayInWeek = GetTrueDayOfWeek(dateList(0).DayOfWeek)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM