在ToString中使用自定义格式(String,IFormatProvider)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在ToString中使用自定义格式(String,IFormatProvider)相关的知识,希望对你有一定的参考价值。

在Microsoft C#的文档中,DateTime.ToString Method (String, IFormatProvider)说:

provider参数定义与标准格式说明符对应的模式,以及日期和时间组件的符号和名称。

我注意到docs只提到了使用provider参数的标准格式说明符

有人可以向我解释为什么这里只提到标准格式说明符“使用提供者参数”而不是标准和自定义格式说明符吗?

答案

因为自定义格式由不同的接口支持,ICustomFormatter。大多数具体实现支持两者。

另一答案

恕我直言,我强烈怀疑这一段试图解释那些标准格式说明符是在IFormatProvider本身中定义的。

例如;

和更多..

如您所见,那些由IFormatProvider本身定义的格式说明符。它们的表示值定义了这些属性的定义。

enter image description here

另一方面,the custom date and time format specifiers本身没有定义IFormatProvider

例如,IFormatProvider中是否有任何属性定义fffffffhhzzz自定义说明符?没有。

我认为这是本段的“主要”信息。

以上是关于在ToString中使用自定义格式(String,IFormatProvider)的主要内容,如果未能解决你的问题,请参考以下文章

用DateTime.ToString(string format)输出不同格式的日期

在java中String的方法:toString()怎么用?

day001-日期格式类装拆箱

格式化字符串:自定义日期格式

日期格式化

如何在 .NET 中使用自定义格式对 TimeSpan 对象进行 String.Format ?