How do I get the day of a week in integer format? I know ToString will return only a string.
DateTime ClockInfoFromSystem = DateTime.Now;
int day1;
string d
int day = (int)DateTime.Now.DayOfWeek;
First day of the week: Sunday (with a value of zero)
Another way to get Monday with integer value 1 and Sunday with integer value 7
int day = ((int)DateTime.Now.DayOfWeek + 6) % 7 + 1;
Use
day1 = (int)ClockInfoFromSystem.DayOfWeek;
The correct way to get the integer value of an Enum such as DayOfWeek as a string is:
DayOfWeek.ToString("d")
The correct answer, is indeed the correct answer to get the int value.
But, if you're just checking to make sure it's Sunday for example... Consider using the following code, instead of casting to an int. This provides much more readability.
if (yourDateTimeObject.DayOfWeek == DayOfWeek.Sunday)
{
// You can easily see you're checking for sunday, and not just "0"
}
Try this. It will work just fine:
int week = Convert.ToInt32(currentDateTime.DayOfWeek);