Analyse de date dans Go
Lors de la tentative d'analyse d'un horodatage au format '2011-01-19 22:15', qui est Couramment utilisé par tar, les développeurs peuvent rencontrer des difficultés lors de l'utilisation de la fonction time.Parse. Cet article cherche à fournir une solution à ce problème.
L'extrait de code suivant illustre la tentative infructueuse d'analyser l'horodatage à l'aide de time.Parse :
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) }
Ce code échoue avec le message d'erreur "'heure d'analyse "2011-01-19 22:15": mois hors plage'".
La solution réside dans la compréhension de la syntaxe et de la sémantique de time.Parse. Comme spécifié dans la documentation du package d'heure Go, la disposition par défaut utilisée dans time.Parse est basée sur le format d'heure Unix standard :
"Lun 2 janvier 15:04:05 MST 2006 (MST est GMT-0700) "
où :
Pour définir une mise en page personnalisée, les développeurs doivent déterminer comment l'heure standard apparaîtra dans le format souhaité. Par exemple, pour analyser l'horodatage « 2011-01-19 22:15 », l'extrait suivant peut être utilisé :
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(time.SecondsToUTC(t.Seconds())) }
Ici, nous avons spécifié une chaîne de mise en page personnalisée "2006-01-02 15 :04" pour correspondre à l'horodatage d'entrée. Le résultat est ensuite imprimé au format horaire Unix.
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!