在Go 中,嘗試將time.Time 時間戳直接新增至字串陣列時可能會遇到錯誤。若要解決此問題,您可以使用 String() 或 Format() 方法將 time.Time 值轉換為字串。
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() 方法。例如,要將時間戳格式設定為「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中文網其他相關文章!