ToString("ddd")不适用于DayofWeek,缩写为3个字符

Fan*_*o68 2 c# dayofweek

我想简单地得到一周中的3字母缩写词.

星期一=
星期二=星期二
,依此类推.

我试过这个,但是我收到了一个错误.

string wsDoW = DateTime.Today.DayOfWeek.ToString("ddd");
Run Code Online (Sandbox Code Playgroud)

围绕它的唯一方法是,这...

string wsDoW = DateTime.Today.DayOfWeek.ToString().ToUpper().Substring(0,3);
Run Code Online (Sandbox Code Playgroud)

错误是......

格式字符串只能是"G","g","X","x","F","f","D"或"d".

这是怎么回事?

Gra*_*ICA 6

删除该DayOfWeek部分,您的格式说明符将正常工作.

string wsDoW = DateTime.Today.ToString("ddd");
Run Code Online (Sandbox Code Playgroud)

这是由于和ToString()之间的实现不同.System.DateTimeSystem.DayOfWeek

该类中的ToString实现DateTime最终在这里,它正在测试更多的格式说明符.

ToString被调用的实现DayOfWeekEnum类中,它只检查几个格式说明符,如果它不是其中之一则抛出异常.