[英]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
默认情况下, FirstDayOfWeek
是Sunday
。 如果您创建了自定义文化,则可能是您选择的一周中的任何一天(即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.