【发布时间】:2017-03-13 22:29:44
【问题描述】:
我有这个方法:
Dim dayofweek As Integer = CInt(DateTime.Now.DayOfWeek)
Dim startdayvalue As Integer = 0
Select Case args(1).ToLower
Case "monday"
startdayvalue = 1
Case "tuesday"
startdayvalue = 2
Case "wednesday"
startdayvalue = 3
Case "thursday"
startdayvalue = 4
Case "friday"
startdayvalue = 5
Case "saturday"
startdayvalue = 6
Case "sunday"
startdayvalue = 7
End Select
Return (dayofweek - startdayvalue + 7) Mod 7 + 1
args(1) 是用户可以输入的“星期一”到“星期日”之类的一天。对于给定的区域设置,我希望它始终以值 1 开头。我猜我的最后一行有问题,因为它给了我错误的值。例如,它给我星期一 = 1(正确)星期二 = 7(不正确)星期日 (2)。在我的区域设置中,一周从星期一开始,应该是 1 号和 7 号星期日。
【问题讨论】:
-
这是 VB,不是 C#。
-
DateTime.Now.Day有什么问题? (假设天数表示日期) -
对 c# 感到抱歉。我对 1 - 7 的结果感兴趣 - 而不是一个月中的实际日期。