常规的调用ToString()方法,存在两个问题.
(1)、调用者无法控制字符串的格式
(2)、调用者不能方便的选择一种特定的语言文化来格式化字符串....在开发一些国际化的应用时,应用程序需要调用与当前线程不同的语言文化来格式化字符串.
so,为了对字符串进行更多的控制,你重写的的ToString()方法应该允许指定具体的格式和语言文化信息....DateTime实现了IFormattable接口,所以它可以自定义地构造我们想要的DateTime字符串,具体实现如下:
第一步:
?...进行生成规则的匹配,然后结合语言文化,和日期值,返回一个期望的字符串
(1)、当传入的format参数只有一个时候:
?...,CLR获取其对应的日期格式展示参数,
最后将其和日期值结合,生成对应的StringBuilder对象,并对其进行输出,后续的代码因为太长,所以不展示原理就是如此,随后返回一个期望的字符串值.