TDengine 支持时间戳Precision自适应毫秒微秒纳秒

tdengine 2.20版发布直接支持纳秒时间戳了,毫秒、微秒、纳秒,建库时需要用 precision "ms"、precision "us"、precision "ns" 来进行标注,如果传入的时间戳不满足位数位数要求则报错。做了一个简单的格式转换函数,利用string 切片实现了时间戳字串长度截断和补齐,解决时间戳不统一的问题。

func (taosd *TDengineDataSource) getTimeStampWithPrecision(tls string) string {

    zerostr := "0000000000000000000"

    len := len(tls)

    var tlsprecision string

    switch taosd.Section.config.precision {

    case "s": //  second

        if len < 10 {

            tlsprecision = tls + zerostr[0:(10-len)]

        } else {

            tlsprecision = tls[0:10]

        }

    case "ms": //  milisecond

        if len < 13 {

            tlsprecision = tls + zerostr[0:(13-len)]

        } else {

            tlsprecision = tls[0:13]

        }

    case "us": // microsecond

        if len < 16 {

            tlsprecision = tls + zerostr[0:(16-len)]

        } else {

            tlsprecision = tls[0:16]

        }

    case "ns": // nanosecond

        if len < 19 {

            tlsprecision = tls + zerostr[0:(19-len)]

        } else {

            tlsprecision = tls[0:19]

        }

    }

    return tlsprecision

}

你可能感兴趣的:(笔记,tdengine,html5,html)