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

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值