Как получить целочисленное значение дня недели - PullRequest
86 голосов
/ 08 февраля 2012

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

153 голосов
/ 08 февраля 2012

Используйте

day1 = (int)ClockInfoFromSystem.DayOfWeek;
70 голосов
/ 09 февраля 2012
int day = (int)DateTime.Now.DayOfWeek;

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

56 голосов
/ 30 декабря 2013

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

int day = ((int)DateTime.Now.DayOfWeek == 0) ? 7 : (int)DateTime.Now.DayOfWeek;
6 голосов
/ 08 февраля 2012
day1= (int)ClockInfoFromSystem.DayOfWeek;
5 голосов
/ 25 сентября 2014

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

int week = Convert.ToInt32(currentDateTime.DayOfWeek);
3 голосов
/ 24 декабря 2014

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

DayOfWeek.ToString("d")
0 голосов
/ 04 февраля 2018

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

int day = ((int)DateTime.Now.DayOfWeek + 6) % 7 + 1;
0 голосов
/ 12 марта 2014
DateTime currentDateTime = DateTime.Now;
int week = (int) currentDateTime.DayOfWeek;
...