Maison >développement back-end >Golang >Comment analyser correctement les horodatages de type Tar dans la fonction « time.Parse » de Go ?
Analyse de dates dans Go
L'analyse des horodatages dans Go peut être une tâche ardue avec l'API complexe de time.Parse. Examinons un problème courant rencontré lors de la tentative d'analyse d'horodatages similaires à ceux produits par tar, tels que « 2011-01-19 22:15 ».
Problème d'analyse
L'extrait de code suivant échoue avec l'erreur "temps d'analyse" 19/01/2011 22:15": mois hors plage":
package main import ( "fmt" "time" ) func main() { var time, error = time.Parse("2011-01-19 22:15", "2011-01-19 22:15") if error != nil { fmt.Println(error.String()) return } fmt.Println(time) }
Comprendre l'erreur
Le message d'erreur indique que la chaîne de format fournie à time.Parse attend la valeur du mois doit être comprise entre 1 et 12, tandis que l'horodatage fourni contient janvier (représenté par 01), qui est le premier mois.
Résoudre le problème
Pour résoudre ce problème, nous devons personnaliser la chaîne de format pour interpréter correctement l'horodatage. En se référant à la documentation du package Go time, on retrouve les instructions suivantes :
"L'heure standard utilisée dans les layouts est :
Lun 2 janvier 15:04:05 MST 2006 (MST est GMT-0700)
Pour définir votre propre format, notez à quoi ressemblerait l'heure standard formatée dans votre manière."
En modifiant la chaîne de format en conséquence, nous avons :
package main import ( "fmt" "time" ) func main() { t, err := time.Parse("2006-01-02 15:04", "2011-01-19 22:15") if err != nil { fmt.Println(err) return } fmt.Println(t) }
Ce code affichera : "2011-01-19 22:15:00 0000 UTC".
En suivant les instructions fournies dans la documentation, nous avons pu personnaliser la chaîne de format pour analyser avec succès l'horodatage dans le format souhaité. format.
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!