C# 将Datetime转换为所需的字符串格式
我到处寻找这个解决办法,但找不到C# 将Datetime转换为所需的字符串格式,c#,.net,winforms,datetime,C#,.net,Winforms,Datetime,我到处寻找这个解决办法,但找不到 DateTime now=DateTime.Now; 我想把这个转换成 18th March 目前我正在使用 MessageBox.Show(DateTime.Now.ToString("d MMMM")); 显示 3月18日 对于1,它应该显示为1 2-2 3-3 4-4 有什么解决方案吗?您可能需要使用这样的函数 static string ToEnglishOrdinal (int number) { if ((number % 10
DateTime now=DateTime.Now;
我想把这个转换成
18th March
目前我正在使用
MessageBox.Show(DateTime.Now.ToString("d MMMM"));
显示
3月18日
对于1,它应该显示为1
2-2
3-3
4-4
有什么解决方案吗?您可能需要使用这样的函数
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";
}
静态字符串到英语序号(整数){
如果((数字%100<10)| |(数字%100>=14)){
开关(编号%10){
案例1:{
返回number.ToString()+“st”;
}
案例2:{
返回number.ToString()+“nd”;
}
案例3:{
返回number.ToString()+“rd”;
}
}
}
返回number.ToString()+“th”;
}
您可能必须使用这样的函数
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";
}
静态字符串到英语序号(整数){
如果((数字%100<10)| |(数字%100>=14)){
开关(编号%10){
案例1:{
返回number.ToString()+“st”;
}
案例2:{
返回number.ToString()+“nd”;
}
案例3:{
返回number.ToString()+“rd”;
}
}
}
返回number.ToString()+“th”;
}
类似的东西会帮助你:(未经测试,无法给出想法)
像这样的东西会帮助你:(未经测试给出一个想法)
您需要支持哪些文化?我不相信在.NET中有任何东西可以轻松支持这样的序数。如果你只需要英语,我会使用一个简单的数组。如果你使用'st','nd','rd'和'th',不要忘记'of'关键字。3月4日获取序号是不可能的-您必须自己编写函数,以支持您想要支持的文化。您可以参考此。。您需要支持哪些文化?我不相信在.NET中有任何东西可以轻松支持这样的序数。如果你只需要英语,我会使用一个简单的数组。如果你使用'st','nd','rd'和'th',不要忘记'of'关键字。3月4日获取序号是不可能的-您必须自己编写函数,以支持您想要支持的文化。您可以参考此。。