respect-validation/docs/validators/Time.md
Alexandre Gomes Gaigalas 16148e9593 Standardize and improve validation message templates
- Remove redundant "valid" prefix:
   Date, DateTime, DateTimeDiff, Domain, Email, Iban, Imei, Ip, Isbn, Json, LanguageCode, LeapDate, LeapYear, Luhn, MacAddress, NfeAccessKey, Nif, Nip, Pesel, Phone, Pis, PolishIdCard, PostalCode, Roman, Slug, Tld, Url, Uuid, Version.

 - Remove redundant "value" suffix
   ArrayVal, BoolVal, Countable, FloatVal, IntVal, IterableVal, NumericVal, ScalarVal, StringVal.

 - Standardize "consist only of" phrasing
   Alnum, Alpha, Cntrl, Consonant, Digit, Graph, Lowercase, Printable, Punct, Space, Spaced, Uppercase, Vowel, Xdigit.

 - Improve file accessibility messages
   Directory, Executable, File, Image, Readable, SymbolicLink, Writable.

 - Improve grammar and article usage
   CreditCard, Extension, Mimetype, Regex, Size.
2026-02-03 19:58:55 +00:00

3.2 KiB

Time

  • Time()
  • Time(string $format)

Validates whether an input is a time or not. The $format argument should be in accordance to PHP's date() function, but only those are allowed:

Format Description Values
g 12-hour format of an hour without leading zeros 1 through 12
G 24-hour format of an hour without leading zeros 0 through 23
h 12-hour format of an hour with leading zeros 01 through 12
H 24-hour format of an hour with leading zeros 00 through 23
i Minutes with leading zeros 00 to 59
s Seconds, with leading zeros 00 through 59
u Microseconds 000000 through 999999
v Milliseconds 000 through 999
a Lowercase Ante meridiem and Post meridiem am or pm
A Uppercase Ante meridiem and Post meridiem AM or PM

When a $format is not given its default value is H:i:s.

v::time()->assert('00:00:00');
// Validation passes successfully

v::time()->assert('23:20:59');
// Validation passes successfully

v::time('H:i')->assert('23:59');
// Validation passes successfully

v::time('g:i A')->assert('8:13 AM');
// Validation passes successfully

v::time('His')->assert(232059);
// Validation passes successfully

v::time()->assert('24:00:00');
// → "24:00:00" must be a time in the "23:59:59" format

v::time()->assert(new DateTime());
// → `DateTime { 2024-01-01T12:00:00+00:00 }` must be a time in the "23:59:59" format

v::time()->assert(new DateTimeImmutable());
// → `DateTimeImmutable { 2024-01-01T12:00:00+00:00 }` must be a time in the "23:59:59" format

Templates

Time::TEMPLATE_STANDARD

Mode Template
default {{subject}} must be a time in the {{sample}} format
inverted {{subject}} must not be a time in the {{sample}} format

Template placeholders

Placeholder Description
subject The validated input or the custom validator name (if specified).
sample

Categorization

  • Date and Time

Changelog

Version Description
3.0.0 Templates changed
2.0.0 Created

See Also