示例:
DateTime.Now.ToString("yyyyMMddHHmmssfff")
上面的示例就是将日期格式化到毫秒级。那么问题来了,格式化到微秒级、纳秒级怎么整?f又是什么?
我们知道y->year, M->month,d->day,H->hour,m->minute,s->second,f->???
f是什么?f应该是float的缩写,意为小数精确度。(个人观点,请勿被引导!)
那么fff就是千分之一秒(即1毫秒),一个f就是十分之一秒(即100毫秒)了,以此类推。
那如果要格式化到纳秒级,是不是需要9个f?
真实的事情是无法格式化到纳秒级。最大精确度为7位(即最多7个f),也就是100纳秒(ns)。
但为什么非得到100纳秒级呢?这里我可不可以说王八的屁股—>龟腚(规定)呢O(∩_∩)O~
不过由此我想到了在C#中日期运算的最小单位是什么?刻度(Ticts/Timespan)。
而1刻度(Ticts/Timespan)就等于100纳秒,所以是不是可以说日期格式化的最小级别是刻度级。
在说说刻度(Ticts/Timespan)。刻度可以说在C#日期运算中是最基础的单位。
比如;EndDatetime - BeginDatetime=刻度值差(TimeSpan对象)
再根据得出的刻度值差得到天数差,月数差等。
自然关于日期的比较亦是基于刻度的比较。