Maison >développement back-end >Golang >Pourquoi la sortie « time.Now() » de Go inclut-elle « m= » dans les versions ultérieures ?

Pourquoi la sortie « time.Now() » de Go inclut-elle « m= » dans les versions ultérieures ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-07 08:29:13501parcourir

Why Does Go's `time.Now()` Output Include

Sortie inattendue de time.Time : démystifier la chaîne "m="

Lorsqu'un programme Go exécute la fonction time.Now() , il récupère l'horodatage actuel. La sortie par défaut de cet horodatage a évolué au fil du temps, notamment avec la sortie de Go 1.9.

L'énigme "m= "

Dans les anciennes versions de Go, le temps .Now() produirait une chaîne au format suivant :

2018-07-04 12:03:07.2911671 +0530 IST

Cependant, dans Go 1.9 et versions ultérieures, la sortie a été étendue à inclure une mystérieuse chaîne "m=" :

2018-07-04 12:03:07.2911671 +0800 +08 m=+0.002000201

Pourquoi cet écart ? Cela est dû à l'ajout de la prise en charge de l'horloge monotone dans Go 1.9. La chaîne "m= " représente le temps monotone depuis le début du programme, exprimé sous forme de nombre de secondes à virgule flottante.

Évitez les surprises de format avec Format()

Au lieu de s'appuyer sur la sortie par défaut de time.Now(), il est recommandé d'utiliser la fonction Format() pour spécifier un format personnalisé pour l'horodatage. Par exemple :

import (
    "fmt"
    "time"
)

func main() {
    t := time.Now()
    fmt.Println(t.Format("2006-01-02 15:04:05.000000"))
}

Cela affichera l'horodatage dans un format cohérent quelle que soit la version Go :

2018-07-04 12:03:07.2911671

En utilisant Format(), vous pouvez vous assurer que vos programmes affichent toujours horodatages dans le format que vous attendez.

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