zoukankan      html  css  js  c++  java
  • 关于C#时间格式化中的“f”

    示例:

    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对象)

    再根据得出的刻度值差得到天数差,月数差等。

    自然关于日期的比较亦是基于刻度的比较。

  • 相关阅读:
    【瞎口胡】基础数学 1 快速幂 整除 最大公约数
    【瞎口胡】二分图
    Windos下使用Redis
    VUE的踩坑日记(1)
    公告
    [维度打击]最大连续子序列
    常用函数
    树状数组
    高精度封装
    T4 模板之 单个文件
  • 原文地址:https://www.cnblogs.com/njl041x/p/4226134.html
Copyright © 2011-2022 走看看