有没有办法覆盖 LocalDate 的 ToString() 的默认模式?

问题描述

我的代码中的一个常见模式是在生成消息文本时使用来自字符串插值的 LocalDate(或其他 NodaTime 类型)。认情况下,这最终会使用本地化的认格式模式(“D”)。

有没有办法覆盖 ToString() 用于 LocalDate 的认模式?我想始终使用 ISO 模式进行格式化。

解决方法

您可以将当前文化更改为具有您想要的 DateTimeFormatInfo 格式的文化。但仅此而已 - Noda Time 没有提供其他机制,就像 BCL 没有提供其他机制一样。

我鼓励您改为明确说明 - 最好使用 LocalDatePattern

,

您的问题的答案在这里:https://docs.microsoft.com/en-us/dotnet/standard/base-types/standard-date-and-time-format-strings

它还说明了您正在寻找的 ISO 格式