[英]How to convert the string into specified date format
您好我想按以下格式转换日期-2012年6月1日,2012年3月3日,2012年6月11日
Convert.ToDateTime(ds.Tables[0].Rows[0]["Date"]).ToString("d MMM yyyy")
但是有了上面的代码我就变得像这样
2012年6月1日,2012年3月3日,请帮助我。 谢谢。
未经测试,但它应该可以工作:
DateTime dateTime = Convert.ToDateTime(ds.Tables[0].Rows[0]["Date"]);
string date = string.Format("{0}{1} {2} {3}", dateTime.Day, GetOrdinal(dateTime.Day), dateTime.ToString("MMM"), datetTime.Year);
public string GetOrdinal(int number)
{
switch(number % 100)
{
case 11:
case 12:
case 13:
return "th";
}
switch(number % 10)
{
case 1:
return "st";
case 2:
return "nd";
case 3:
return "rd";
default:
return "th";
}
}
似乎您不能这样做: http : //msdn.microsoft.com/zh-cn/library/8kb3ddd4.aspx
如果要使用“ st”,“ nd”,“ rd”,“ th”等,则没有其他方法可以使用swtich运算符:
switch(yourdate.Day % 10)
case(1): ...
case(2): ...
你可以这样尝试
string strPostfix = string.Empty;
if (DateTime.Now.Day == 1 || DateTime.Now.Day == 21 || DateTime.Now.Day == 31)
{
strPostfix = "st";
}
else if (DateTime.Now.Day == 2 || DateTime.Now.Day == 22)
{
strPostfix = "nd";
}
else if (DateTime.Now.Day == 3 || DateTime.Now.Day == 23)
{
strPostfix = "rd";
}
else
{
strPostfix = "th";
}
希望这会对您有所帮助,谢谢。
由于普通语言是非常特定于语言的,因此不建议使用它们! 但是,如果必须的话,编写一个switch语句来处理它应该非常简单。 (如果这对您真的很重要)
然后,您可以在空格处分割字符串,处理第一部分,然后再次合并字符串
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.