class Datetimes (View source)

The GenericDatabase\Helpers\Types\Specials\Datetimes class provides regular expression patterns for parsing and validating date and time strings. It also includes methods for retrieving the regular expression patterns and extracting information from the input string.

Example Usage:

//Parser a date em time on format: YYYY-DD-MM HH:mm:SS
$parse = Datetimes::getPattern("2023-28-02 10:45:30");

//Parser a date em time on format: YYYY-MM-DD HH:mm
$parse = Datetimes::getPattern("2024-02-29 10:45");

//Parser a date em time on format: MM-DD-YYYY HH:mm:SS zzz
$parse = Datetimes::getPattern("02-28-2023 10:45:30 +02:00");

//Parser a date em time on format: DD-MM-YYYY HH:mm:SS tt
$parse = Datetimes::getPattern("29-02-2024 10:45:30 PM");

//Parser a date em time on format: HH:MM:SS
$parse = Datetimes::getPattern("13:45:30");

Main functionalities:

  • Provides regular expression patterns for various date and time formats
  • Parses and validates date and time strings using the regular expression patterns
  • Retrieves the regular expression patterns and extracted information from the input string

Methods:

  • getPattern(string $input): Parses and validates the input string using the regular expression patterns and returns the extracted information.

Fields

  • TIME_SEPARATOR: Regular expression pattern for matching time separators (e.g., ':', '.').
  • TIMEZONE_HOURS_SEPARATOR: Regular expression pattern for matching timezone hours separators.
  • TIMEZONE_MINUTES_SEPARATOR: Regular expression pattern for matching timezone minutes separators.
  • TIMEZONE_SEPARATOR: Regular expression pattern for matching timezone separators.
  • MERIDIEM_HOURS_SEPARATOR: Regular expression pattern for matching meridiem hours separators.
  • MERIDIEM_MINUTES_SEPARATOR: Regular expression pattern for matching meridiem minutes separators.
  • MERIDIEM_SEPARATOR: Regular expression pattern for matching meridiem separators.
  • DIGITS: Regular expression pattern for matching digits (0-9).
  • HOURS: Regular expression pattern for matching hours (00-23).
  • MINUTES: Regular expression pattern for matching minutes (00-59).
  • MERIDIEM_HOURS_12: Regular expression pattern for matching 12-hour format meridiem hours (01-12).
  • TIMEZONE_HOURS_24: Regular expression pattern for matching 24-hour format timezone hours (00-23).
  • MERIDIEM_MINUTES_12: Regular expression pattern for matching meridiem minutes (00-59).
  • TIMEZONE_MINUTES_24: Regular expression pattern for matching timezone minutes (00-59).
  • MERIDIEM_SECONDS_12: Regular expression pattern for matching meridiem seconds (00-59).
  • TIMEZONE_SECONDS_24: Regular expression pattern for matching timezone seconds (00-59).
  • MERIDIEM: Regular expression pattern for matching meridiem (AM/PM).
  • TIMEZONE: Regular expression pattern for matching timezone (Z or +/-HH:MM).
  • DATE_SEPARATOR: Regular expression pattern for matching date separators (e.g., '/', '-', '|').
  • DATE_TIME_SEPARATOR: Regular expression pattern for matching date-time separators (e.g., 'T', '/', '-', '|').
  • DAYS_28_SEPARATOR: Regular expression pattern for matching 28 days separator.
  • DAYS_30_SEPARATOR: Regular expression pattern for matching 30 days separator.
  • DAYS_31_SEPARATOR: Regular expression pattern for matching 31 days separator.
  • MONTHS_28_SEPARATOR: Regular expression pattern for matching 28 months separator.
  • MONTHS_30_SEPARATOR: Regular expression pattern for matching 30 months separator.
  • MONTHS_31_SEPARATOR: Regular expression pattern for matching 31 months separator.
  • LEAP_DAY_SEPARATOR: Regular expression pattern for matching leap day separator.
  • LEAP_MONTH_SEPARATOR: Regular expression pattern for matching leap month separator.
  • LEAP_YEAR_SEPARATOR: Regular expression pattern for matching leap year separator.
  • YEAR_SEPARATOR: Regular expression pattern for matching year separator.
  • DAYS_28: Regular expression pattern for matching 28 days (01-28).
  • DAYS_30: Regular expression pattern for matching 30 days (01-30).
  • DAYS_31: Regular expression pattern for matching 31 days (01-31).
  • MONTHS_28: Regular expression pattern for matching 28 months (02).
  • MONTHS_30: Regular expression pattern for matching 30 months (01-12 except 02).
  • MONTHS_31: Regular expression pattern for matching 31 months (01-12 except 02).
  • LEAP_DAY: Regular expression pattern for matching leap day (29).
  • LEAP_MONTH: Regular expression pattern for matching leap month (02).
  • LEAP_YEAR: Regular expression pattern for matching leap year.
  • YEAR: Regular expression pattern for matching year (YYYY or YY).

Constants

private TIME_SEPARATOR

private TIMEZONE_HOURS_SEPARATOR

private TIMEZONE_MINUTES_SEPARATOR

private TIMEZONE_SEPARATOR

private MERIDIEM_HOURS_SEPARATOR

private MERIDIEM_MINUTES_SEPARATOR

private MERIDIEM_SEPARATOR

private DIGITS

private HOURS

private MINUTES

private MERIDIEM_HOURS_12

private TIMEZONE_HOURS_24

private MERIDIEM_MINUTES_12

private TIMEZONE_MINUTES_24

private MERIDIEM_SECONDS_12

private TIMEZONE_SECONDS_24

private MERIDIEM

private TIMEZONE

private DATE_SEPARATOR

private DATE_TIME_SEPARATOR

private DAYS_28_SEPARATOR

private DAYS_30_SEPARATOR

private DAYS_31_SEPARATOR

private MONTHS_28_SEPARATOR

private MONTHS_30_SEPARATOR

private MONTHS_31_SEPARATOR

private LEAP_DAY_SEPARATOR

private LEAP_MONTH_SEPARATOR

private LEAP_YEAR_SEPARATOR

private YEAR_SEPARATOR

private DAYS_28

private DAYS_30

private DAYS_31

private MONTHS_28

private MONTHS_30

private MONTHS_31

private LEAP_DAY

private LEAP_MONTH

private LEAP_YEAR

private YEAR

Methods

static array
getPattern(string $input)

Gets the pattern based on the input.

Details

static array getPattern(string $input)

Gets the pattern based on the input.

Parameters

string $input

Return Value

array