如何获取星期几的整数值

时间:2012-02-08 18:14:32

标签: c# datetime dayofweek date-conversion

如何以整数格式获取星期几?我知道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

9 个答案:

答案 0 :(得分:151)

使用

day1 = (int)ClockInfoFromSystem.DayOfWeek;

答案 1 :(得分:69)

int day = (int)DateTime.Now.DayOfWeek;

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

答案 2 :(得分:55)

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

int day = ((int)DateTime.Now.DayOfWeek == 0) ? 7 : (int)DateTime.Now.DayOfWeek;

答案 3 :(得分:6)

day1= (int)ClockInfoFromSystem.DayOfWeek;

答案 4 :(得分:4)

试试这个。它会工作得很好:

int week = Convert.ToInt32(currentDateTime.DayOfWeek);

答案 5 :(得分:2)

将DayOfWeek的整数值(如DayOfWeek)作为字符串获取的正确方法是:

DayOfWeek.ToString("d")

答案 6 :(得分:0)

DateTime currentDateTime = DateTime.Now;
int week = (int) currentDateTime.DayOfWeek;

答案 7 :(得分:0)

另一种获得星期一的整数值为1和星期日的整数值为7的方法

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

答案 8 :(得分:0)

正确答案,确实是获取int值的正确答案。

但是,如果您只是要确保确定例如是星期日,请考虑使用以下代码,而不是强制转换为int。这样可以提供更高的可读性。

if (yourDateTimeObject.DayOfWeek == DayOfWeek.Sunday)
{
    // You can easily see you're checking for sunday, and not just "0"
}