将日期格式更改为ddth mmm,yyyy

Ali*_*jum 4 c# datetime string-formatting datetime-format

我正在我的网络表单上打印一些日期.目前我的日期格式是dd:mmm:yyyy hh:mm

如何将日期格式更改为ddth mmm,yyyy for示例2016年5月17日 hh:mm

这是我的代码:

 lastlogin = DateTime.Parse(dt_LastLoginDetail.Rows[0]["login_time"].ToString());
 lastlogindate = "Last Login Date: " + lastlogin.ToString("dd-MMM-yyy hh:mm tt");
Run Code Online (Sandbox Code Playgroud)

Man*_*ong 6

试试这个:

lastlogin = DateTime.Parse(dt_LastLoginDetail.Rows[0]["login_time"].ToString());
string suffix;
switch (lastlogin.Day) {
    case 1:
    case 21:
    case 31:
        suffix = "st";
        break;
    case 2:
    case 22:
        suffix = "nd";
        break;
    case 3:
    case 23:
        suffix = "rd";
        break;
    default:
        suffix = "th";
        break;
}
lastlogindate = "Last Login Date: " + lastlogin.ToString("dd\"" + suffix + "\" MMM, yyyy hh:mm");
Run Code Online (Sandbox Code Playgroud)

.Net没有内置方法来检索'st','nd'等.所以你只需要在代码中确定.