Как получить целочисленное значение дня недели


Как получить день недели в формате число? Я знаю, что 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
8 73

8 ответов:

использовать

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

первый день недели: воскресенье (с нулевым значением)

Если вы хотите установить первый день недели в понедельник с целочисленным значением 1 и воскресенье с целочисленным значением 7

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

попробуйте это. Это будет работать просто отлично:

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

правильный способ получить целочисленное значение перечисления, например DayOfWeek в виде строки:

DayOfWeek.ToString("d")
DateTime currentDateTime = DateTime.Now;
int week = (int) currentDateTime.DayOfWeek;

еще один способ получить понедельник с целочисленным значением 1 и воскресенье с целочисленным значением 7

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