ホームページ バックエンド開発 Golang golang で入力が有効な ISO 8601 時間形式であるかどうかを確認する方法

golang で入力が有効な ISO 8601 時間形式であるかどうかを確認する方法

Jun 24, 2023 pm 12:21 PM
golang iso 入力の検証

時間関連の操作を実行する場合、多くの場合、入力された時間形式が正当であるかどうかを確認する必要があります。 ISO 8601 は、国際標準化機構によって開発された日付と時刻の表現方法であり、現在広く使用されています。 Golang では、ISO 8601 時刻形式の検証に時刻ライブラリを使用できます。

まず、ISO 8601 の時刻形式の定義を理解する必要があります。 ISO 8601 の時刻形式は日付、時刻、タイム ゾーンで構成されます。日付と時刻は「T」で区切られ、タイム ゾーンは接尾辞文字で表されます。例は次のとおりです。

2022-01-01T12:00:00+08:00 // 表示北京时间2022年1月1日12点
ログイン後にコピー

Golang では、time.Parse メソッドを使用して、指定された形式を使用して文字列を時刻型に解析できます。次のコードを使用して、入力が有効な ISO 8601 時間形式であるかどうかを確認できます。

func IsValidISO8601(input string) bool {
    _, err := time.Parse(time.RFC3339Nano, input)
    return err == nil
}
ログイン後にコピー

上記のコードでは、time.RFC3339Nano は ISO 8601 時間形式の特定の形式を定義します。これには、ナノ秒の精度とタイムゾーン情報。入力文字列を時刻型に正しく解析できる場合、err は nil になり、入力が有効な ISO 8601 時刻形式であることを示します。

次に、次のコードを使用して、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
}
ログイン後にコピー

上記のコードでは、有効な ISO 8601 時間形式と、タイム ゾーン情報を含まない日付を入力します。 . 時刻形式と、その形式が ISO 8601 標準に準拠していない文字列。出力結果は、IsValidISO8601 関数が入力が有効な ISO 8601 時間形式であるかどうかを正確に判断できることを示しています。

要約すると、時間ライブラリで Parse メソッドを使用すると、入力が有効な ISO 8601 時間形式であるかどうかを簡単に検証できます。必要なのは、指定された時刻形式を使用して入力文字列を解析し、解析でエラーがあるかどうかを判断することだけです。この方法はシンプルで使いやすく、ISO 8601 時間形式を検証するために推奨される方法です。

以上がgolang で入力が有効な ISO 8601 時間形式であるかどうかを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Golang データベース接続用の接続プールを構成するにはどうすればよいですか? Golang データベース接続用の接続プールを構成するにはどうすればよいですか? Jun 06, 2024 am 11:21 AM

Golang データベース接続用の接続プールを構成するにはどうすればよいですか?

Golang を使用してファイルを安全に読み書きするにはどうすればよいですか? Golang を使用してファイルを安全に読み書きするにはどうすればよいですか? Jun 06, 2024 pm 05:14 PM

Golang を使用してファイルを安全に読み書きするにはどうすればよいですか?

Golang と C++ の類似点と相違点 Golang と C++ の類似点と相違点 Jun 05, 2024 pm 06:12 PM

Golang と C++ の類似点と相違点

Golang フレームワーク アーキテクチャの学習曲線はどれくらい急ですか? Golang フレームワーク アーキテクチャの学習曲線はどれくらい急ですか? Jun 05, 2024 pm 06:59 PM

Golang フレームワーク アーキテクチャの学習曲線はどれくらい急ですか?

Golangでリストからランダムな要素を生成するにはどうすればよいですか? Golangでリストからランダムな要素を生成するにはどうすればよいですか? Jun 05, 2024 pm 04:28 PM

Golangでリストからランダムな要素を生成するにはどうすればよいですか?

golangフレームワークの長所と短所の比較 golangフレームワークの長所と短所の比較 Jun 05, 2024 pm 09:32 PM

golangフレームワークの長所と短所の比較

golang フレームワーク ドキュメントの使用手順 golang フレームワーク ドキュメントの使用手順 Jun 05, 2024 pm 06:04 PM

golang フレームワーク ドキュメントの使用手順

Golang フレームワークでのエラー処理のベスト プラクティスは何ですか? Golang フレームワークでのエラー処理のベスト プラクティスは何ですか? Jun 05, 2024 pm 10:39 PM

Golang フレームワークでのエラー処理のベスト プラクティスは何ですか?

See all articles