使用DateTime.ToString()格式化日期时,是否可以包含日期后缀?
例如,我想以以下格式打印日期-2009年7月27日星期一。但是,使用DateTime.ToString()找到的最接近的示例是2009年7月27日星期一。
可以使用DateTime.ToString()进行此操作,还是必须退回到我自己的代码?
作为参考,我始终使用/参考SteveX字符串格式, 并且在任何可用变量中似乎都没有“ th”,但是您可以轻松地使用
string.Format("{0:dddd dd}{1} {0:MMMM yyyy}", DateTime.Now, (?));
然后,您将必须为1提供一个“ st”,为2提供一个“ nd”,为所有其他提供一个“ rd”,并为所有其他提供“ th”,并且可以用“?:”语句内联。
var now = DateTime.Now; (now.Day % 10 == 1 && now.Day != 11) ? "st" : (now.Day % 10 == 2 && now.Day != 12) ? "nd" : (now.Day % 10 == 3 && now.Day != 13) ? "rd" : "th"