2015-10-12 21 views
1

我试图简单地得到一周中某天的3字母首字母缩写词。C#ToString(“ddd”)对DayofWeek缩写为3个字符不起作用

星期一= MON 星期二= TUE 等等。

我试过但我得到一个错误。

string wsDoW = DateTime.Today.DayOfWeek.ToString("ddd"); 

围绕它的唯一办法对我来说,这是... ...

string wsDoW = DateTime.Today.DayOfWeek.ToString().ToUpper().Substring(0,3); 

的错误是...

格式字符串只能是 “G”,“G “,”X“,”x“,”F“,”f“,”D“或”d“。

发生了什么事?

回答

4

删除DayOfWeek部分和您的format specifier将工作得很好。

string wsDoW = DateTime.Today.ToString("ddd"); 

这是由于System.DateTimeSystem.DayOfWeek之间的ToString()执行的差异。

DateTime类中的ToString实现结束了here,其中它正在测试更多的格式说明符。

ToString实施被称为上DayOfWeek是在Enum类,它只是一个few format specifiers检查,并抛出一个异常,如果它不是其中之一。

+0

太棒了!谢谢 – Fandango68

+0

@ Fernando68不客气! –

+0

@sudheeshix我欣赏添加更多细节的编辑,但您只能对'DateTime'的实例调用'ToString()'...而不是'DateTime'类本身。 –