Search code examples
c#dayofweek

Name of day of week in italian language in c#


I can't to extract the name of day of week in italian language in my aspx page with c#.

I have tried this solution but in the output I have Friday, what wrong?

DateTime ItalianJobCookie = DateTime.Parse(Request.Cookies["ItalianJob"].Value);
string ItalianJobCookieDayName = ItalianJobCookie.DayOfWeek.ToString("G", new CultureInfo("it-IT"));

Response.Write(ItalianJobCookieDayName.ToString());

Solution

  • DateTime.DayOfWeek returns a DayOfWeek of a given DateTime which has no ToString that supports different cultures. This is even documented:

    The members of the DayOfWeek enumeration are not localized. To return the localized name of the day of the week, call the DateTime.ToString(String) or the DateTime.ToString(String, IFormatProvider) method with either the "ddd" or "dddd" format strings. The former format string produces the abbreviated weekday name; the latter produces the full weekday name.

    Instead use it with DateTime

    string ItalianJobCookieDayName = ItalianJobCookie.ToString("dddd");
    

    if the current culture is italian, otherwise:

    string ItalianJobCookieDayName = ItalianJobCookie.ToString("dddd", new CultureInfo("it-IT"));
    

    If you want the abbreviated day-name use ddd instead of dddd. Further informations.