parkourkarthik
parkourkarthik

Reputation: 834

Get the Day of a week from integer value of the Day

I have converted several days of the week to their respective integer values..

For example: Tuesday, Thursday, Friday As 2,4,5

Now I need to get back to the days from the integers.

Simply the inverse of what i had done.

Inverse of the Question: Get Integer value of day of week

Is there a simple standard way for getting day of week from integer value in C# or else I will have to perform a manual calculation with a Method?

Upvotes: 32

Views: 40609

Answers (6)

kidshaw
kidshaw

Reputation: 3461

string.Format("{0:dddd}", value)

Using enumeration doesn't factor in localisation. This string format should return the full day name as a string localised to local culture.

class Program
{
    static void Main(string[] args)
    {
        var value = DateTime.Today;
        System.Console.WriteLine(string.Format("{0:dddd}", value));
    }
}

Console output on 11th of March 2020, locale en-GB:

Wednesday

Upvotes: 1

Chandra
Chandra

Reputation: 92

In DateTime.Now DayOfWeek is an enum value and you can get its string value by parsing it to corresponding values.

Enum.Parse(typeof(DayofWeek),"0")

You will get your desired result then.

Upvotes: 2

mbdavis
mbdavis

Reputation: 4020

Adding my answer in case it's any use to anyone:

((DayOfWeek)i).ToString();

Gives 0 = Sunday, 1 = Monday etc

For 0 = Monday just shift along 1

((DayOfWeek)((i + 1) % 7)).ToString();

Upvotes: 9

Neel
Neel

Reputation: 11741

try below code :-

Response.Write(Enum.GetName(typeof(DayOfWeek),5));

Output:

Friday

and If you have to convert integers to days of week, see following sample to convert “2,4,5″ using LINQ.

var t = string.Join(",",
                 from g in "2,4,5".Split(new char[] { ',' })
                 select Enum.GetName(typeof(DayOfWeek), Convert.ToInt32(g)));
        Response.Write(t);

Output:

Tuesday,Thursday,Friday

For extra informations :-

http://msdn.microsoft.com/en-us/library/system.enum.getname(v=vs.110).aspx

Upvotes: 46

Gumzle
Gumzle

Reputation: 877

Try

CultureInfo.CurrentCulture.DateTimeFormat.DayNames[day No]

Upvotes: 24

Manas
Manas

Reputation: 2542

Enum.Parse(typeof(DayOfWeek),"0")

where "0" is string equivalent of integer value of day of the week

Upvotes: 7

Related Questions