Gregzo
Gregzo

Reputation: 1194

How to localize a DateTime.DayOfWeek?

I can't figure out how to properly localize DateTime.DayOfWeek in .NET 2.0.

Example:

DateTime date = DateTime.Now;

// Works fine
string localizedDate = date.ToString("D", new CultureInfo("fr-FR"));

// Nope...
string localizedDay = date.DayOfWeek.ToString("D", new CultureInfo("fr-FR")); 

I'm restricted to .NET 2.0, is that the problem?

Upvotes: 3

Views: 742

Answers (2)

to StackOverflow
to StackOverflow

Reputation: 124696

Your second example:

string localizedDay = date.DayOfWeek.ToString("D", new CultureInfo("fr-FR"));

is using an Enumeration Format String, in which the "D" format specifier means "return the shortest representation possible".

You could try:

string localizedDay = new CultureInfo("fr-FR").DateTimeFormat.DayNames[(int)date.DayOfWeek];

Upvotes: 2

Semih Yagcioglu
Semih Yagcioglu

Reputation: 4101

DateTimeFormatInfo is supported since .NET 2.0, so this is not the case.

Try this instead:

DateTime.Now.ToString("dddd", new System.Globalization.CultureInfo("fr-FR"));

Upvotes: 2

Related Questions