Maison  >  Article  >  développement back-end  >  Comment utiliser l’heure et la date dans Go ?

Comment utiliser l’heure et la date dans Go ?

王林
王林original
2023-05-10 17:55:531911parcourir

Go est un langage de programmation rapide avec de nombreuses bibliothèques intégrées utiles. Dans le travail de développement réel, le traitement de l'heure et de la date est crucial. Go fournit de puissantes fonctions de traitement de l'heure et de la date, permettant aux développeurs de calculer et de traiter facilement l'heure et les dates. Cet article explique comment utiliser l'heure et la date dans Go.

Bases de l'heure et de la date

Dans Go, l'heure et la date sont représentées par des variables de type time.Time. Ce type contient des informations telles que l'année, le mois, le jour, l'heure, la minute, la seconde et le fuseau horaire. La manière habituelle de le créer est d’appeler la fonction time.Now(), qui renverra une variable de type time.Time de l’heure actuelle.

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

Sortie formatée de l'heure et de la date

Dans Go, nous pouvons contrôler le format de sortie de l'heure. Variables de type Time via la chaîne de format. Par exemple :

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

Parmi eux, 2006, 01, 02, 15, 04 et 05 sont des nombres spéciaux, qui représentent respectivement l'année, le mois, le jour, l'heure, la minute et la seconde. Cela a été décidé par le fondateur du langage Go, Ken Thompson, lorsqu'il a conçu la bibliothèque de temps. Il pensait que cela réduirait les erreurs causées par le formatage de l'heure.

En plus de ces nombres spéciaux, la chaîne de format peut également contenir d'autres caractères, tels que des espaces, des traits d'union, des deux-points, etc.

Calculs d'addition et de soustraction de l'heure et de la date

Dans Go, nous pouvons utiliser les fonctions Add() et Sub() pour ajouter et soustraire des heures et des dates.

t1 := time.Now()
t2 := t1.Add(1 * time.Hour)
t3 := t1.AddDate(1, 0, 0)    // 将t1加1年
t4 := t1.Sub(t2)
fmt.Println(t1)
fmt.Println(t2)
fmt.Println(t3)
fmt.Println(t4)

Dans le code ci-dessus, t2 représente le temps après t1 plus 1 heure, t3 représente le temps après t1 plus 1 an et t4 représente la différence de temps entre t2 et t1.

Comparaison de l'heure et de la date

Dans Go, nous pouvons utiliser les fonctions Before(), Equal() et After() pour comparer l'ordre de deux heures et dates.

t1 := time.Now()
t2 := t1.Add(1 * time.Hour)
fmt.Println(t1.Before(t2))
fmt.Println(t1.Equal(t2))
fmt.Println(t1.After(t2))

Dans le code ci-dessus, la fonction Before() renvoie true pour indiquer que t1 est avant t2, la fonction Equal() renvoie true pour indiquer que t1 et t2 sont égaux et la fonction After() renvoie true pour indiquer que t1 est après t2.

Horodatage Unix

En informatique, l'horodatage Unix (horodatage unix) fait référence à toutes les secondes du 1er janvier 1970, 00:00:00 à l'heure actuelle, c'est-à-dire dans combien de secondes. Dans Go, nous pouvons utiliser la fonction Unix() pour convertir une variable de type time.Time en un horodatage Unix de type int64.

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

En plus de la fonction Unix(), Go fournit également la fonction UnixNano(), qui peut convertir le temps en nanosecondes du 1er janvier 1970, 00:00:00 à l'heure actuelle.

Résumé

Le traitement de l'heure et de la date est très important Dans Go, nous pouvons utiliser la bibliothèque de temps intégrée pour calculer et traiter facilement l'heure et la date. Cet article présente les bases de l'utilisation de l'heure et de la date dans Go, y compris la sortie formatée de l'heure et de la date, les calculs d'addition et de soustraction, les comparaisons et les horodatages Unix. Les développeurs peuvent utiliser ces fonctions de manière flexible en fonction de leurs propres besoins pour améliorer l'efficacité du développement.

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
Article précédent:golang n'est pas égal àArticle suivant:golang n'est pas égal à