程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了将 time.Time 转换为字符串大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决将 time.Time 转换为字符串?

开发过程中遇到将 time.Time 转换为字符串的问题如何解决?下面主要结合日常开发的经验,给出你关于将 time.Time 转换为字符串的解决方法建议,希望对你解决将 time.Time 转换为字符串有所启发或帮助;

您可以使用该Time.String()方法将 a 转换time.Time为 a String。这使用格式字符串"2006-01-02 15:04:05.999999999 -0700 MST"

如果您需要其他自定义格式,可以使用Time.Format(). 例如,以yyyy-MM-dd HH:mm:ss使用格式字符串的格式获取时间戳"2006-01-02 15:04:05"

例子:

t := time.Now()
fmt.Println(t.String())
fmt.Println(t.Format("2006-01-02 15:04:05"))

输出(在Go Playground上试试):

2009-11-10 23:00:00 +0000 UTC
2009-11-10 23:00:00

注意:Go Playground 上的时间始终设置为上述值。在本地运行它以查看当前日期/时间。

另请注意,使用Time.Format(), 作为布局,String您始终必须传递相同的时间 - 称为时间 - 以您希望格式化结果的方式进行格式化。这是记录在Time.Format()

解决方法

我正在尝试将我的数据库中的一些值添加到[]StringGo 中。其中一些是时间戳。

我收到错误:

我可以转换time.TimeString吗?

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,Us.timestamp,Us.Created_datE}
    // -------------
    // ^ this is where the error occurs
    // cAnnot use U.Created_date (type time.TimE) as type String in array element (for Us.Created_date and Us.timestamp aswell)
    // -------------

    usersArray = append(usersArray,user)
    log.Print("usersArray: ",usersArray)
}

编辑

我添加了以下内容。现在可以用了,谢谢。

userCreatedDate := U.Created_date.Format("2006-01-02 15:04:05")
userSessionCreatedDate := Us.Created_date.Format("2006-01-02 15:04:05")
userSessiontimestamp := Us.timestamp.Format("2006-01-02 15:04:05")

大佬总结

以上是大佬教程为你收集整理的将 time.Time 转换为字符串全部内容,希望文章能够帮你解决将 time.Time 转换为字符串所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。