我已经到处寻找这个解决方案,但找不到它
DateTime now=DateTime.Now;
我想将其转换为
18th March
目前我正在使用
MessageBox.Show(DateTime.Now.ToString("d MMMM"));
显示
3月18日。
1表示应显示第1个
第2-2
3-3rd
4-4th
任何解决方案?
答案 0 :(得分:3)
你可能必须使用这样的函数,
static string ToEnglishOrdinal (int number) {
if ((number % 100 < 10) || (number % 100 >= 14)) {
switch (number % 10) {
case 1: {
return number.ToString () + "st";
}
case 2: {
return number.ToString () + "nd";
}
case 3: {
return number.ToString () + "rd";
}
}
}
return number.ToString () + "th";
}
答案 1 :(得分:2)
这样的事情会对你有所帮助:(未经考验可以提出想法)
DateTime dt = DateTime.Now;
int day = dt.Date.Day % 10;
MessageBox.Show(dt.ToString("d" + ((day == 1) ? “st” : (day == 2) ? “nd” : (day == 3) ? “rd” : (day == 4) ? “th” : “th”) + "MMMM"));