如何获取星期几的整数值

aks*_*ar6 91 c# datetime date-conversion dayofweek

如何以整数格式获取一周中的哪一天?我知道ToString只返回一个字符串.

DateTime ClockInfoFromSystem = DateTime.Now;
int day1;
string day2;
day1= ClockInfoFromSystem.DayOfWeek.ToString(); /// it is not working
day2= ClockInfoFromSystem.DayOfWeek.ToString(); /// it gives me string
Run Code Online (Sandbox Code Playgroud)

Joe*_*Joe 161

使用

day1 = (int)ClockInfoFromSystem.DayOfWeek;
Run Code Online (Sandbox Code Playgroud)

  • 如果你想星期一为0,只需改变日期:`day1 =(int)(ClockInfoFromSystem.DayOfWeek + 6)%7` (39认同)
  • @developer星期日是0. http://msdn.microsoft.com/en-us/library/system.dayofweek.aspx (11认同)
  • 如果你想更快地做到这一点,请看看:http://stackoverflow.com/a/22278311/3315914 (3认同)
  • 它将在星期一返回0,依此类推? (2认同)

小智 77

int day = (int)DateTime.Now.DayOfWeek;
Run Code Online (Sandbox Code Playgroud)

一周的第一天:星期日(价值为零)


Mar*_*OEE 60

如果要将星期一的第一天设置为星期一,整数值为1,星期日的整数值为7

int day = ((int)DateTime.Now.DayOfWeek == 0) ? 7 : (int)DateTime.Now.DayOfWeek;
Run Code Online (Sandbox Code Playgroud)

  • 由于所有理智的人都会想要这个,所以投票赞成.ISO 8601在这一点上非常明确.星期一是第1天,星期日是第7天. (7认同)

Fiv*_*ols 6

day1= (int)ClockInfoFromSystem.DayOfWeek;
Run Code Online (Sandbox Code Playgroud)


Rob*_*ick 6

以字符串形式获取 Enum(例如 DayOfWeek)的整数值的正确方法是:

DayOfWeek.ToString("d")
Run Code Online (Sandbox Code Playgroud)

  • 这将返回一个“string”,而不是一个“int”。 (4认同)

Rus*_*duk 6

另一种获取星期一(整数值 1)和星期日(整数值 7)的方法

int 天 = ((int)DateTime.Now.DayOfWeek + 6) % 7 + 1;


Rav*_*dda 5

尝试这个。它将正常工作:

int week = Convert.ToInt32(currentDateTime.DayOfWeek);
Run Code Online (Sandbox Code Playgroud)