日時が有効なRFC3339であることを検証する方法はありますか? 私はそれをUNIX時間に変換してから有効なRFC3339としてフォーマットできることを知っていますが、そうすることを望まず、代わりに正しいフォーマットが提供されるように強制します。 http://mattallan.org/posts/rfc3339-date-time-validation/ は正規表現の使用を提案していますが、最後の手段としてのみ行います。ありがとう
質問する
1521 次
2 に答える
4
DateTime
定義済みのDaTeTime::RFC3339
フォーマット定数があります。指定された形式に従って日付を解析できない場合にcreateFromFormat
返されるため、そのチェックをバリデーターとして使用できます。false
validRFC3339Date("2018-01-29T20:36:01Z");
validRFC3339Date("2018-01-29T20:36:01+00:00");
validRFC3339Date("2018-01-22 20:36");
validRFC3339Date("2018-09-28T16:00:05.000Z");
function validRFC3339Date($date) {
if (DateTime::createFromFormat(DateTime::RFC3339, $date) === FALSE) {
echo "$date: Invalid RFC3339\n";
} else {
echo "$date: Valid RFC3339\n";
}
}
于 2018-10-14T21:16:47.053 に答える