I can not find in the documentation which date format specifier displays the date with the name of the day of the week in Russian. In MSDN, the "f" and "F" specifiers are written:

2009-06-15T13: 45: 30 -> Monday, June 15, 2009 (en-US)

2009-06-15T13: 45: 30 -> June 15, 2009 (ru-RU)

2009-06-15T13: 45: 30 -> Montag, 15. Juni 2009 (de-DE)

2009-06-15T13: 45: 30 -> den 15 juni 2009 13:45 (sv-SE)

2009-06-15T13: 45: 30 -> О ”ОµП ... П„ О * ПЃО ±, 15 О ™ ОїП… ОЅОЇОїП… 2009 1:45 ОјОј (el-GR)

Those. The name of the day of the week in the date is displayed for all languages ​​except Russian.

On VS2015, .NET 4.6.1 I have the following conclusion:

Console.WriteLine( "День недели: {0}", DateTime.Now.ToString( "dddd", new CultureInfo( "ru-RU" ) ) ); Console.WriteLine( "Дата: {0}", DateTime.Now.ToString( "F", new CultureInfo( "ru-RU" ) ) ); Console.WriteLine( "Дата: {0}", DateTime.Now.ToString( "f", new CultureInfo( "ru-RU" ) ) ); // Output: //День недели: суббота //Дата: 17 декабря 2016 г. 16:41:04 //Дата: 17 декабря 2016 г. 16:41 

Is this a library bug, "so conceived" or am I formatting incorrectly?

    1 answer 1

    Format specifiers are Standard and Custom . If the standard format specifier is specified, the pattern for converting the value to a string is taken from the settings of the operating system. User specifiers, on the contrary, allow you to specify a pattern that is independent of the system settings.

    Thus, if you specify the specifier "F" or "f", then the string that the end user sees will have the same format that he observes in most programs and is familiar to him.

    But sometimes, the specification explicitly indicates output data in a strictly defined format for all users. In such a case, a custom format should be specified. For example: dddd, MMMM, d, yyyy