首頁 > 後端開發 > Golang > 如何將Go的time.Time轉換為字串以進行字串陣列追加?

如何將Go的time.Time轉換為字串以進行字串陣列追加?

Linda Hamilton
發布: 2024-12-28 01:02:12
原創
964 人瀏覽過

How to Convert Go's time.Time to String for String Array Appending?

在Golang 中將time.Time 轉換為字串

在Go 中,嘗試將time.Time 時間戳直接新增至字串陣列時可能會遇到錯誤。若要解決此問題,您可以使用 String() 或 Format() 方法將 time.Time 值轉換為字串。

String() 方法

String() 方法轉換 time.Time使用預設格式「2006-01-02 15:04:05.999999999 -0700 MST」的字串。例如:

import (
    "fmt"
    "time"
)

func main() {
    t := time.Now()
    fmt.Println(t.String()) // Output: 2023-05-09 11:33:42.134942534 -0500 CST
}
登入後複製

Format() 方法

如果需要自訂格式,可以透過傳遞佈局字串來使用 Format() 方法。例如,要將時間戳格式設定為「yyyy-MM-dd HH:mm:ss」:

t := time.Now()
fmt.Println(t.Format("2006-01-02 15:04:05")) // Output: 2023-05-09 11:33:42
登入後複製

範例用法

在您的程式碼中,您可以透過將time.Time 值會新增至字串陣列之前將其新增至字串陣列:

type UsersSession struct {
    Userid int
    Timestamp time.Time
    Created_date time.Time
}

type Users struct {
    Name string
    Email string
    Country string
    Created_date time.Time
    Id int
    Hash string
    IP string
}

var usersArray = [][]string{}

rows, err := db.Query("SELECT u.id, u.hash, u.name, u.email, u.country, u.IP, u.created_date, us.timestamp, us.created_date FROM usersSession AS us LEFT JOIN users AS u ON u.id = us.userid WHERE us.timestamp + interval 30 minute >= now()")

U := Users{}
US := UsersSession{}

for rows.Next() {
    err = rows.Scan(&U.Id, &U.Hash, &U.Name, &U.Email, &U.Country, &U.IP, &U.Created_date, &US.Timestamp, &US.Created_date)
    checkErr(err)

    userid_string := strconv.Itoa(U.Id)
    user := []string{userid_string, U.Hash, U.Name, U.Email, U.Country, U.IP, U.Created_date.String(), US.Timestamp.String(), US.Created_date.String()}

    usersArray = append(usersArray, user)
}
登入後複製

透過使用String() 方法,您可以成功將time.Time 值會以字串新增至 []string 陣列。

以上是如何將Go的time.Time轉換為字串以進行字串陣列追加?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板