在 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中文网其他相关文章!