Maison >développement back-end >Golang >Comment convertir le time.Time de Go en chaîne pour l'ajout d'un tableau de chaînes ?

Comment convertir le time.Time de Go en chaîne pour l'ajout d'un tableau de chaînes ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-28 01:02:12967parcourir

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

Conversion de time.Time en chaîne dans Golang

Dans Go, vous pouvez rencontrer des erreurs lorsque vous essayez d'ajouter des horodatages time.Time directement aux tableaux de chaînes. Pour résoudre ce problème, vous pouvez convertir les valeurs time.Time en chaînes à l'aide de la méthode String() ou Format().

Méthode String()

La méthode String() convertit un time.Time en une chaîne utilisant le format par défaut "2006-01-02 15:04:05.999999999 -0700 MST". Par exemple :

import (
    "fmt"
    "time"
)

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

Méthode Format()

Si vous avez besoin d'un format personnalisé, vous pouvez utiliser la méthode Format() en passant une chaîne de mise en page. Par exemple, pour formater un horodatage comme "aaaa-MM-jj HH:mm:ss":

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

Exemple d'utilisation

Dans votre code, vous pouvez rectifier l'erreur en convertissant le time.Time aux chaînes avant de les ajouter au tableau de chaînes :

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

En utilisant la méthode String(), vous pouvez ajouter avec succès le time.Time valeurs sous forme de chaînes dans votre tableau de chaînes [].

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn