Maison  >  Article  >  développement back-end  >  conversion de type de date golang

conversion de type de date golang

WBOY
WBOYoriginal
2023-05-10 10:02:361653parcourir

Golang est un langage de programmation très populaire et largement reconnu pour son efficacité et sa simplicité. Dans le développement d'applications, il est souvent nécessaire de convertir les types de date. Présentons la méthode de conversion des types de date dans Golang.

Dans Golang, il existe deux types de date principaux : time.Time et string. Le type time.Time peut représenter un moment précis, tandis que le type chaîne est une représentation de type chaîne. Pour convertir entre deux types, vous pouvez utiliser certaines fonctions fournies dans Golang.

  1. string to time.Time

Dans Golang, vous pouvez convertir une date de type chaîne en type time.Time via la fonction time.Parse(). Un exemple est le suivant :

str := "2021-06-01 12:00:00"
layout := "2006-01-02 15:04:05"
t, err := time.Parse(layout, str)
if err != nil {
    fmt.Println(err)
}
fmt.Println(t)

La fonction d'analyse time.Parse() doit passer deux paramètres : l'un est la chaîne de date et l'autre est le format de la chaîne de date. Dans l'exemple ci-dessus, la chaîne de date est 2021-06-01 12:00:00 et la chaîne de format est 2006-01-02 15:04:05. Ce qu'il faut noter ici, c'est que les nombres dans la chaîne de format doivent être classés dans l'ordre de l'année, du mois, du jour, de l'heure, des minutes et des secondes, et que les caractères de format correspondants doivent être utilisés. 2021-06-01 12:00:00,格式字符串是2006-01-02 15:04:05。这里需要注意的是,格式字符串中的数字必须按照年、月、日、时、分、秒的顺序排列,并使用对应的格式符。

  1. time.Time转string

在Golang中,可以通过time.Format()函数将一个time.Time类型的日期转换为string类型。示例如下:

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

格式化函数time.Format()需要传递一个格式字符串,该格式字符串与解析函数中的字符串格式相同。在上面的示例中,获取当前时间使用的是time.Now()函数,格式字符串是2006-01-02 15:04:05

  1. Unix时间戳转time.Time

在Golang中,可以通过time.Unix()函数将一个Unix时间戳转换为time.Time类型。示例如下:

unixTime := int64(1622496000)
t := time.Unix(unixTime, 0)
fmt.Println(t)

函数time.Unix()需要传递两个参数:一个是Unix时间戳,另一个是纳秒的偏移量,这里使用0作为偏移量即可。

  1. time.Time转Unix时间戳

在Golang中,可以通过time.Unix()函数将一个time.Time类型转换为Unix时间戳。示例如下:

t := time.Now()
unixTime := t.Unix()
fmt.Println(unixTime)

函数time.Unix()会返回一个Unix时间戳,并且该时间戳是int64类型的。在上面的示例中,获取当前时间使用的是time.Now()

    time.Time to string

    Dans Golang, une date de type time.Time peut être convertie en type chaîne via la fonction time.Format(). Un exemple est le suivant :

    rrreee🎜La fonction de formatage time.Format() doit transmettre une chaîne de format, qui est la même que le format de chaîne dans la fonction d'analyse. Dans l'exemple ci-dessus, la fonction time.Now() est utilisée pour obtenir l'heure actuelle et la chaîne de format est 2006-01-02 15:04:05. 🎜
      🎜Horodatage Unix en time.Time🎜🎜🎜Dans Golang, vous pouvez convertir un horodatage Unix en type time.Time via la fonction time.Unix(). Un exemple est le suivant : 🎜rrreee🎜La fonction time.Unix() doit passer deux paramètres : l'un est l'horodatage Unix et l'autre est le décalage en nanosecondes. Ici, 0 est utilisé comme décalage. 🎜
        🎜time.Time en horodatage Unix🎜🎜🎜Dans Golang, vous pouvez convertir un type time.Time en horodatage Unix via la fonction time.Unix(). Un exemple est le suivant : 🎜rrreee🎜La fonction time.Unix() renverra un horodatage Unix, et l'horodatage est de type int64. Dans l'exemple ci-dessus, la fonction time.Now() est utilisée pour obtenir l'heure actuelle. 🎜🎜Résumé🎜🎜La conversion du type de date Golang n'est pas difficile, il vous suffit d'utiliser les fonctions appropriées. Les quatre méthodes présentées ci-dessus peuvent répondre à la plupart des besoins de conversion de type de date. Bien sûr, il existe de nombreux cas particuliers qui doivent être pris en compte dans des applications pratiques et doivent être adaptés en fonction de la situation spécifique, mais cela suffit pour commencer. 🎜

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