【发布时间】:2017-08-02 08:41:47
【问题描述】:
假设我有一个 DateTime 对象,它代表今天午夜的日期 (2017-08-02 00:00:00.000)
我想获取该对象并以用户可读的方式呈现它,其中包含月日、星期几和月。
在北美,我的理解是它的格式如下:
7 月 2 日,星期一
然而,在挪威语中,它看起来像这样:
曼达格2.juli
如您所见,月份和月份的日期互换了位置,“星期一”之后没有逗号,并且在 2 之后添加了句点以表示它是序数。
.NET(或像 NodaTime 之类的库)中是否有办法让这种格式开箱即用,还是我必须针对我们的应用支持的每种语言对其进行硬编码?
【问题讨论】:
-
您可能需要根据应用程序使用的语言来切换代码中的“区域设置”。请参阅此处以供参考; msdn.microsoft.com/en-us/library/office/dn631825.aspx
-
我认为只调用
ToLongDateString就足够了,让文化设置控制外观。 -
@PetterBrodin 包含年份会不会有问题?
-
@Damien_The_Unbeliever 看起来至少需要更多的编码,因为墨西哥西班牙语(例如)在末尾添加了“de 2017”:docs.microsoft.com/en-us/dotnet/standard/base-types/…
-
@PetterBrodin 有时年份也用逗号分隔;)