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

Is there a way to overwrite the default pattern for ToString() for LocalDate?

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

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

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

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

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

我鼓励您直截了当 - 最好使用 LocalDatePattern