首页 > 解决方案 > 如何以格式(DD/MM 或 MM/DD)获取 DateTime,但考虑到文化

问题描述

所以我有一个问题,我想将日期显示为 07/04,比如 4 月 7 日,但这需要考虑文化。因此,如果用户使用 en-US,则需要显示为 04/07。

我已经厌倦了使用 MonthDayPattern ,但这给出的月份写成 4 月而不是 07 月。

我有一个可行的想法,那就是使用 ToShortDate,它给出 dd/MM/yyyy 或 MM/dd/yyyy,然后删除 yyyy 部分,它以正确的文化格式提供它,但感觉有点笨拙,我确定在某个地方有一个格式化程序可以做到这一点。

为清晰起见更新:

我希望月份和日期以数字显示,如 07(代表日)和 04(代表月),但按照文化给出的顺序。

标签: c#wpfdate

解决方案


所以我决定采用与 Jimi 建议类似的方法。在这种情况下,我只需要格式字符串,因为实际的格式化是由一个采用该格式的共享类完成的。我采用了一种方法来发送我想要操作的格式,在本例中是 ShortDate。然后我发送我想要使用的那个日期的部分,在这种情况下是日和月。然后,我拆分 ShortDate 并删除我不想解析的部分,并使用 DateSeparator 将其连接回字符串。它并不完美,因为它不会在当前迭代中处理 Time (或多个不同的分隔符),但它在这一点上做了它需要做的事情。


推荐阅读