使用DateTime.ToString()格式化日期时是否可以包括日期后缀?
例如,我想用以下格式打印日期——2009年7月27日星期一.然而,我能找到的最接近DateTime的例子.ToString()是2009年7月27日星期一.
我能用DateTime做这个吗.ToString()还是我必须回到我自己的代码?
使用DateTime.ToString()格式化日期时是否可以包括日期后缀?
例如,我想用以下格式打印日期——2009年7月27日星期一.然而,我能找到的最接近DateTime的例子.ToString()是2009年7月27日星期一.
我能用DateTime做这个吗.ToString()还是我必须回到我自己的代码?
作为参考,我总是使用[SteveX String Formatting]1
string.Format("{0:dddd dd}{1} {0:MMMM yyyy}", DateTime.Now, (?));
然后,您必须为1提供"st",为2提供"nd",为3提供"rd",为所有其他提供"th",并且可以内联"?:"语句.
var now = DateTime.Now;
(now.Day % 10 == 1 && now.Day % 100 != 11) ? "st"
: (now.Day % 10 == 2 && now.Day % 100 != 12) ? "nd"
: (now.Day % 10 == 3 && now.Day % 100 != 13) ? "rd"
: "th"