2014-06-26 104 views
0

我想将日期时间变量转换为以下格式:“2014年7月26日星期四”。C#将日期时间转换为2014年7月26日星期四格式

什么是正确的方法。

感谢

+3

'DateTime.ToString()',你会在这里找到你所需要的格式:http://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx –

+0

你也可以阅读这个'th'部分:http://stackoverflow.com/questions/9601593/how-can-i-format-07-03-2012-to-march-7th-2012-in-c -sharp –

+0

以下是序号格式的更好链接:http://stackoverflow.com/q/69262/634824 –

回答

5

我认为你需要的零件前后th彼此分开:

DateTime dt = new DateTime(2014, 07, 26); 
string result = string.Format("{1}{0} {2}", 
    dt.Day == 1 ? "st" : dt.Day == 2 ? "nd" : dt.Day == 3 ? "rd" : "th", 
    dt.ToString("dddd, dd", CultureInfo.InvariantCulture), 
    dt.ToString("MMMM yyyy", CultureInfo.InvariantCulture)); 

如果你不是真的需要你的确切格式,你也可以使用DateTime方法,如ToLongDateString,它使用t他目前的文化和固定的格式。

+0

差不多。 21,22,23,31不正确。 –

3

从MSDN Docs,这将产生一个 “龙” 的日期模式

DateTime.ToString("D") 
相关问题