日付フォーマット検証 — JSON Schemaで日付文字列を検証
JSON Schemaの format キーワードで date および date-time フォーマットの文字列を検証する方法を解説します。
String Constraints
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"birthDate": {
"type": "string",
"format": "date"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"meetingTime": {
"type": "string",
"format": "time"
}
},
"required": ["birthDate", "createdAt"]
}Test Data
{
"birthDate": "1990-07-15",
"createdAt": "2025-01-20T14:30:00Z",
"meetingTime": "09:00:00+05:30"
}詳細な説明
JSON Schemaには日付・時刻関連の複数の format キーワードが用意されています。これらはRFC 3339に基づいた文字列形式を検証します。
利用可能なフォーマット:
date:2024-01-15のような日付文字列(YYYY-MM-DD形式)time:14:30:00Zのような時刻文字列date-time:2024-01-15T14:30:00ZのようなISO 8601形式の日時文字列duration:P3Y6M4DT12H30M5SのようなISO 8601期間文字列
これらのフォーマットを使うことで、日付文字列が正しい形式であることを宣言的に検証できます。ただし、format キーワードの対応状況はバリデータ実装によって異なります。
ユースケース
予約システム、イベント管理、ログ記録などで日付・時刻データの形式を検証する際に使用します。