c# - 如何以格式(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(代表月),但按照文化给出的顺序。
解决方案
所以我决定采用与 Jimi 建议类似的方法。在这种情况下,我只需要格式字符串,因为实际的格式化是由一个采用该格式的共享类完成的。我采用了一种方法来发送我想要操作的格式,在本例中是 ShortDate。然后我发送我想要使用的那个日期的部分,在这种情况下是日和月。然后,我拆分 ShortDate 并删除我不想解析的部分,并使用 DateSeparator 将其连接回字符串。它并不完美,因为它不会在当前迭代中处理 Time (或多个不同的分隔符),但它在这一点上做了它需要做的事情。
推荐阅读
- node.js - 无法使用新的 nodejs 8.10 将数据插入 DynamoDB
- java - 根据级别从链表中删除对象
- python - Python找不到自己写的模块
- julia - log() 负数抛出域错误
- node.js - 执行 ng serve 从当前目录指向 angular 目录
- javafx - JavaFX FXMLLoader InvocationTargetException?
- python - 使用 Pandas 将 JSON 转换为多个 DataFrame
- reactjs - React 引用的组件未定义
- c# - 如何在事件处理程序 C# 之前阻止代码
- c - 无法获取 argv[i+1] 的值