【发布时间】:2013-07-26 13:44:34
【问题描述】:
我目前正在使用 .NET 的 DateTime 的 ToLongDateString() 方法来解析日期字符串。
对于某些文化,这很好用:
US: Wednesday, May 16, 2001
但对于其他一些文化,日期名称被省略(例如荷兰、匈牙利和冰岛文化)。
NL: 16 mei 2001
这些文化的 DayNames 数组包含一周中每一天的专有名称,但由于某种原因,它们没有用于长日期字符串。
我尝试使用 DateTimeFormat.DayNames [i] + "D" 格式化解决方案,但它在这里不起作用,因为它会导致在已经显示日期名称的文化中出现双倍的日期名称。
US: Wednesday Wednesday, May 16, 2001
NL: woensdag 16 mei 2001
有什么方法可以让默认情况下省略的文化显示日期名称?
【问题讨论】:
-
制作自己的格式字符串是不可能的吗?因为一方面你想要文化特定的显示,但另一方面你基本上说“这几种文化的文化特定格式是错误”......
-
顺便说一句,为什么某些文化不显示日期名称(默认情况下)是一个“问题”?格式应该仅与显示相关。我希望您不要在
DateTime的文化特定格式上绑定任何类型的逻辑。 -
为什么不直接使用 DateTime.DayOfWeek 来获取日期?
-
@Corak 我不对文化特定格式使用任何逻辑。它只是显示。只是应用程序的利益相关者希望显示所有文化的日名。
标签: c# .net datetime xamarin globalization