Maison  >  Article  >  développement back-end  >  Comment vérifier si l'entrée est un format d'heure ISO 8601 valide dans Golang

Comment vérifier si l'entrée est un format d'heure ISO 8601 valide dans Golang

WBOY
WBOYoriginal
2023-06-24 12:21:231625parcourir

Lorsque nous effectuons des opérations liées au temps, nous devons souvent vérifier si le format de l'heure d'entrée est légal. La norme ISO 8601 est une méthode de représentation de la date et de l'heure développée par l'Organisation internationale de normalisation et désormais largement utilisée. Dans Golang, nous pouvons utiliser la bibliothèque de temps pour la vérification du format horaire ISO 8601.

Tout d'abord, nous devons comprendre la définition du format d'heure ISO 8601. Le format d'heure ISO 8601 comprend la date, l'heure et le fuseau horaire, la date et l'heure étant séparées par "T", et le fuseau horaire étant représenté par un suffixe. Un exemple est le suivant :

2022-01-01T12:00:00+08:00 // 表示北京时间2022年1月1日12点

Dans Golang, nous pouvons analyser une chaîne dans un type d'heure en utilisant le format spécifié en utilisant la méthode time.Parse. Le code suivant peut être utilisé pour vérifier que l'entrée est un format d'heure ISO 8601 valide :

func IsValidISO8601(input string) bool {
    _, err := time.Parse(time.RFC3339Nano, input)
    return err == nil
}

Dans le code ci-dessus, time.RFC3339Nano définit le format spécifique du format d'heure ISO 8601, qui contient une précision en nanosecondes et des informations de fuseau horaire. Si la chaîne d'entrée peut être correctement analysée en un type d'heure, l'erreur sera nulle, indiquant que l'entrée est un format d'heure ISO 8601 valide.

Ensuite, nous pouvons utiliser le code suivant pour tester la fonctionnalité de la fonction IsValidISO8601 :

func main() {
    fmt.Println(IsValidISO8601("2022-01-01T12:00:00+08:00")) // true
    fmt.Println(IsValidISO8601("2022-01-01T12:00:00"))        // false
    fmt.Println(IsValidISO8601("2022-01-01 12:00:00+08:00"))   // false
}

Dans le code ci-dessus, nous saisissons un format d'heure ISO 8601 valide, un format date/heure sans informations de fuseau horaire et un format qui ne le fait pas. Conforme à la chaîne standard ISO 8601. Les résultats de sortie montrent que la fonction IsValidISO8601 peut déterminer avec précision si l'entrée est un format d'heure ISO 8601 valide.

En résumé, l'utilisation de la méthode Parse dans la bibliothèque de temps peut facilement vérifier si l'entrée est dans un format d'heure ISO 8601 valide. Il nous suffit d'utiliser le format d'heure spécifié pour analyser la chaîne d'entrée, puis de déterminer s'il y a une erreur dans l'analyse. Cette méthode est simple et facile à utiliser et constitue la méthode recommandée pour vérifier le format d’heure ISO 8601.

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