亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何及時刪除毫秒值中的點。格式

如何及時刪除毫秒值中的點。格式

Go
慕村225694 2022-09-05 18:01:55
我想在 Go 中使用時間生成具有此特定格式的時間。格式化功能:yyyy_MM_dd_HH_mm_ss_SSS    // SSS == milliseconds按照文檔,我到達了這一點(使用stdFracSecond0):format := "2006_01_02_15_04_05_.000" fmt.Println(time.Now().Format(format))哪些輸出:2021_06_18_10_21_19_.179如何刪除毫秒值之前的點?這不起作用(毫微始終為零):format := "2006_01_02_15_04_05_000"游樂場示例
查看完整描述

3 回答

?
慕無忌1623718

TA貢獻1744條經驗 獲得超4個贊

要在毫秒之前刪除點,請使用方法 。請找到具有以下具有相同邏輯的代碼。strings.Replace()


package main


import (

    "fmt"

    "strings"

    "time"

)


func main() {


    format := "2006_01_02_15_04_05_.000"

    fmt.Println(time.Now().Format(format))

    fmt.Println(strings.Replace(time.Now().Format(format), "_.", "_", 1))


}

輸出:


2009_11_10_23_00_00_.000

2009_11_10_23_00_00_000


查看完整回答
反對 回復 2022-09-05
?
慕沐林林

TA貢獻2016條經驗 獲得超9個贊

只需使用從格式化的時間字符串中刪除即可。strings.Replace().

strings.Replace(time.Now().Format(format), `.`, ``, 1)

在這里運行


查看完整回答
反對 回復 2022-09-05
?
慕少森

TA貢獻2019條經驗 獲得超9個贊

do函數有效地從格式中刪除(點)。.


根據格式的約定,小數點后跟一個或多個零表示小數秒,打印到給定的小數位數。因此,使用相同的方法是安全的(例如。 而不是 )。.000.999


該函數執行一些健全性檢查,以便格式無效。do


package main


import (

    "errors"

    "fmt"

    "os"

    "strings"

    "time"

)


// do replaces the dot (.) with underscore (_) safely

func do(t string) (string, error) {

    // size is the expected length of the string

    const size = 24

    if tLen := len(t); tLen != size {

        return "",

            fmt.Errorf(

                "invalid format size: expected %d, got %d", size, tLen,

            )

    }


    if t[size-4] != '.' {

        return "", errors.New("invalid format")

    }


    // Use strings.Builder for concatenation

    sb := strings.Builder{}

    sb.Grow(size)

    // For: "2006_01_02_15_04_05_.000"

    // Join "2006_01_02_15_04_05_" and "000"

    sb.WriteString(t[0 : size-4])

    sb.WriteString(t[size-3 : size])


    return sb.String(), nil

}


func main() {

    format := "2006_01_02_15_04_05_.000"

    t, err := do(time.Now().Format(format))

    if err != nil {

        fmt.Fprintln(os.Stderr, err)

        os.Exit(1)

    }

    fmt.Println(t)

}


查看完整回答
反對 回復 2022-09-05
  • 3 回答
  • 0 關注
  • 106 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號