我到处寻找这个解决方案,但就是没有找到
DateTime now=DateTime.Now;
我想把这个转换成
18th March
目前我正在使用
MessageBox.Show(DateTime.Now.ToString("d MMMM"));
它显示了
3月18日。
对于%1,它应显示For
2-2
3-3
4-4
有什么解决方案吗?
发布于 2014-03-18 15:14:12
您可能需要像这样使用函数,
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";
}
发布于 2014-03-18 15:22:31
像这样的东西会对你有帮助:(未经测试给出一个想法)
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"));
https://stackoverflow.com/questions/22472533
复制相似问题