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

conversion de type de date golang

王林
Libérer: 2023-05-15 11:11:37
original
786 Les gens l'ont consulté

Golang est un langage de programmation très populaire, et ses performances et sa facilité d'utilisation ont été largement reconnues par les développeurs. Dans Golang, les types de date sont représentés à l'aide du package time, et le formatage de l'heure et la conversion du type de date sont des opérations très courantes. Cet article explique comment effectuer une conversion de type de date dans Golang.

Formatage de l'heure dans Golang

Dans Golang, nous pouvons utiliser la fonction de formatage du package time pour formater une heure dans une chaîne spécifiée. Par exemple, voici quelques modèles de formatage d'heure courants :

  • "2006- 01-02. 15:04:05" - Sortie : 2020-12-03 15:30:45
  • "01/02/2006 15:04:05" - Sortie : 12/03/2020 15:30:45
  • "Jan 2, 2006 à 15h04" - Sortie : 3 décembre 2020 à 15h30

Les modèles de formatage d'heure ci-dessus sont des formats courants, et nous pouvons définir le format en fonction de nos propres besoins.

Conversion de type de date dans Golang

Le package time de Golang fournit des fonctions d'analyse et de format pour convertir entre les types de date. La fonction Parse peut convertir une chaîne de format de date en un type time.Time, et la fonction Format peut convertir un type time.Time en une chaîne.

Ce qui suit est un exemple :

package main

import (
    "fmt"
    "time"
)

func main() {
    // 获取当前时间
    now := time.Now()

    // 将时间格式化成默认格式
    fmt.Println("now time:", now)

    // 将时间格式化成指定格式
    fmt.Println("format time:", now.Format("2006-01-02 15:04:05"))

    // 将字符串解析成时间
    t1, err := time.Parse("2006-01-02 15:04:05", "2020-12-03 15:30:45")
    if err != nil {
        fmt.Println("parse error:", err)
        return
    }
    fmt.Println("parse time:", t1)

    // 将字符串解析成本地时间
    loc, err := time.LoadLocation("Asia/Shanghai")
    if err != nil {
        fmt.Println("load location error:", err)
        return
    }
    t2, err := time.ParseInLocation("2006-01-02 15:04:05", "2020-12-03 15:30:45", loc)
    if err != nil {
        fmt.Println("parse in location error:", err)
        return
    }
    fmt.Println("parse in location time:", t2)
}
Copier après la connexion

Dans le code ci-dessus, nous obtenons d'abord l'heure actuelle et la formatons au format par défaut et au format spécifié.

Nous essayons ensuite d'analyser une chaîne en un type temporel. Si l'analyse échoue, nous devons gérer l'erreur. Dans cet exemple, nous utilisons la fonction Parse pour analyser l'heure, ce qui nécessite deux paramètres :

  • Format de l'heure, voici "2006-01-02 15:04:05"
  • Chaîne d'heure, voici "2020 -12 -03 15:30:45"

Si l'analyse est réussie, le temps obtenu par l'analyse sera imprimé.

Un exemple plus complexe consiste à convertir l’heure locale en heure UTC. Nous pouvons utiliser le package time de Golang pour effectuer cette opération. La méthode spécifique est la suivante :

package main

import (
    "fmt"
    "time"
)

func main() {
    // 获取当前时间
    now := time.Now()

    // 获取本地时区
    localZone, _ := now.Local().Zone()

    // 根据本地时区获得时间
    localTime, _ := time.ParseInLocation("2006-01-02 15:04:05", "2022-01-01 16:00:00", time.FixedZone(localZone, 8*60*60))

    // 将本地时间转化为UTC时间
    utcTime := localTime.UTC()

    fmt.Println("Local Time:", localTime.Format("2006-01-02 15:04:05"))
    fmt.Println("UTC Time:", utcTime.Format("2006-01-02 15:04:05"))
}
Copier après la connexion

Dans cet exemple, nous obtenons d'abord l'heure actuelle, puis le fuseau horaire local. Nous utilisons la fonction Local() pour obtenir le fuseau horaire local, puis utilisons la fonction Zone() pour obtenir la différence entre GMT et le fuseau horaire local. Ensuite, nous avons utilisé la fonction ParseinLocation pour analyser une chaîne d'heure. Cette chaîne est 2022-01-01 16:00:00 et le format d'heure est "2006-01-02 15:04:05". Nous avons également utilisé la fonction time.FixedZone pour créer un objet fuseau horaire.

Enfin, nous convertissons l'heure locale en heure UTC et l'imprimons.

Résumé

Dans Golang, la conversion du type de date est une opération très courante. Nous pouvons utiliser le propre package de temps de Golang pour effectuer facilement une conversion de type de date. Grâce à l'introduction de cet article, vous devriez déjà savoir comment effectuer une conversion de type de date dans Golang.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal