【发布时间】:2011-01-04 06:45:13
【问题描述】:
使用 DateTime.ToString() 格式化日期时是否可以包含日期后缀?
例如,我想按以下格式打印日期 - 2009 年 7 月 27 日星期一。但是,我可以使用 DateTime.ToString() 找到的最接近的示例是 2009 年 7 月 27 日星期一。
我可以使用 DateTime.ToString() 来做到这一点,还是我必须回退到我自己的代码?
【问题讨论】:
-
有人说 NodaTime 吗?
-
仅供参考,“[日期] 序数后缀”就是这些名称。 “日”通常指周一至周日
-
@grenade 我希望这是一个糟糕的答案。我一直在寻找一个小时的大部分时间来格式化问题中提到的 NodaTime,但据我所知它不起作用:nodatime.org/2.3.x/userguide/localdate-patterns(即使在 2020 年)看起来 momentjs 有这个,因为他们建立了自己的本地化模型:momentjs.com/docs/#/i18n
-
nodatime.org/3.0.x/userguide/limitations 此外,我们所有的文本本地化资源(日期和月份名称)都来自 .NET 框架本身。这有一些明显的局限性,并且使得 Noda Time 对 CultureInfo 的依赖程度超过了理想情况。 CLDR 包含更多信息,应该允许诸如序数天数(“1st”、“2nd”、“3rd”)和更广泛的支持日历/文化组合(例如希伯来日历月的英文名称)等功能。