在ToString中使用自定义格式(String,IFormatProvider)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在ToString中使用自定义格式(String,IFormatProvider)相关的知识,希望对你有一定的参考价值。
在Microsoft C#的文档中,DateTime.ToString Method (String, IFormatProvider)说:
provider参数定义与标准格式说明符对应的模式,以及日期和时间组件的符号和名称。
我注意到docs只提到了使用provider参数的标准格式说明符
有人可以向我解释为什么这里只提到标准格式说明符“使用提供者参数”而不是标准和自定义格式说明符吗?
答案
因为自定义格式由不同的接口支持,ICustomFormatter。大多数具体实现支持两者。
另一答案
恕我直言,我强烈怀疑这一段试图解释那些标准格式说明符是在IFormatProvider
本身中定义的。
例如;
- The
d
format specifier代表格式提供者的ShortDatePattern
。 - The
D
format specifier代表格式提供者的LongDatePattern
。 - The
g
format specifier代表格式提供者的ShortDatePattern
和ShortTimePattern
的组合。 - The
s
format specifier表示格式提供程序的SortableDateTimePattern
,它是静态值,格式提供程序不会更改。
和更多..
如您所见,那些由IFormatProvider
本身定义的格式说明符。它们的表示值定义了这些属性的定义。
另一方面,the custom date and time format specifiers本身没有定义IFormatProvider
。
例如,IFormatProvider
中是否有任何属性定义fffffff
,hh
或zzz
自定义说明符?没有。
我认为这是本段的“主要”信息。
以上是关于在ToString中使用自定义格式(String,IFormatProvider)的主要内容,如果未能解决你的问题,请参考以下文章
用DateTime.ToString(string format)输出不同格式的日期