Heim >Backend-Entwicklung >Golang >Wie konvertiere ich Go's time.Time in einen String für das Anhängen eines String-Arrays?

Wie konvertiere ich Go's time.Time in einen String für das Anhängen eines String-Arrays?

Linda Hamilton
Linda HamiltonOriginal
2024-12-28 01:02:12969Durchsuche

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

Konvertieren von time.Time in String in Golang

In Go können Fehler auftreten, wenn Sie versuchen, time.Time-Zeitstempel direkt zu String-Arrays hinzuzufügen. Um dieses Problem zu lösen, können Sie time.Time-Werte mithilfe der String()- oder Format()-Methode in Zeichenfolgen konvertieren.

String()-Methode

Die String()-Methode konvertiert eine time.Time in eine Zeichenfolge mit dem Standardformat „2006-01-02 15:04:05.999999999 -0700 MST“. Zum Beispiel:

import (
    "fmt"
    "time"
)

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

Format()-Methode

Wenn Sie ein benutzerdefiniertes Format benötigen, können Sie die Format()-Methode verwenden, indem Sie eine Layoutzeichenfolge übergeben. Um beispielsweise einen Zeitstempel als „JJJJ-MM-TT HH:mm:ss“ zu formatieren:

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

Beispielverwendung

In Ihrem Code können Sie den Fehler beheben, indem Sie die konvertieren time.Time-Werte in Strings einfügen, bevor Sie sie dem String-Array hinzufügen:

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)
}

Mit der String()-Methode können Sie dies erfolgreich tun Fügen Sie die time.Time-Werte als Strings zu Ihrem []string-Array hinzu.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich Go's time.Time in einen String für das Anhängen eines String-Arrays?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn