首页 > 后端开发 > Golang > 如何将Go的time.Time转换为字符串以进行字符串数组追加?

如何将Go的time.Time转换为字符串以进行字符串数组追加?

Linda Hamilton
发布: 2024-12-28 01:02:12
原创
903 人浏览过

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板