Can*_*vas 1 c# asp.net datetime
我有自己的DateTime变量
7/11/2014
Run Code Online (Sandbox Code Playgroud)
我想将该日期转换为显示为
7th November 2014
Run Code Online (Sandbox Code Playgroud)
我使用什么格式?我试过了,ToLongDateString但它错过了日期的后缀.
我不相信.NET中的序数("st","nd","th")有任何直接支持.如果你只需要支持英语,我建议你自己硬编码.例如:
string text = string.Format("{0}{1} {2} {3}", dt.Day, GetOrdinal(dt.Day),
dt.ToString("MMMM"), dt.Year);
Run Code Online (Sandbox Code Playgroud)
(如果你会写GetOrdinal自己.)注意,这里假设你想正是这种格式-不同的文化(甚至在英语),可能更喜欢November 7th 2014的例子.
如果你需要支持各种语言,就变得非常困难-不同的语言有一些非常不同的方法序.
旁注:即使Noda Time也没有处理这个问题.我希望最终实现一些CLDR支持,理论上它应该适用于所有语言环境.走着瞧...