格式化DateTime值日值

det*_*lor 5 datetime ordinals .net-3.5

是否有一种简单的方法以第1,第2,第3,......格式显示日期的日期部分?我怀疑通过自定义日期时间格式字符串没有这样做的方法(我会很高兴错了),所以有人实现了这样做的方法吗?

jas*_*son 9

这是实现这一目标的核心逻辑:

string SuffixForDay(DateTime date) {
    switch (date.Day) {
        case 1:
        case 21:
        case 31:
            return "st";
        case 2:
        case 22:
            return "nd";
        case 3:
        case 23:
            return "rd";
        default:
            return "th";
     }
 }
Run Code Online (Sandbox Code Playgroud)