class FullTransformer

Parser and formatter for date formats.

Methods

__construct(string $pattern, string $timezone)

No description

getTransformers()

Return the array of Transformer objects.

string
format(DateTime $dateTime)

Format a DateTime using ICU dateformat pattern.

string
formatReplace(string $dateChars, DateTime $dateTime)

Return the formatted ICU value for the matched date characters.

int|false
parse(DateTime $dateTime, string $value)

Parse a pattern based string to a timestamp value.

string
getReverseMatchingRegExp(string $pattern)

Retrieve a regular expression to match with a formatted value.

bool
isQuoteMatch(string $quoteMatch)

Check if the first char of a string is a single quote.

string
replaceQuoteMatch(string $quoteMatch)

Replaces single quotes at the start or end of a string with two single quotes.

string
buildCharsMatch(string $specialChars)

Builds a chars match regular expression.

array
normalizeArray(array $data)

Normalize a preg_replace match array, removing the numeric keys and returning an associative array with the value and pattern values for the matched Transformer.

bool|int
calculateUnixTimestamp(DateTime $dateTime, array $options)

Calculates the Unix timestamp based on the matched values by the reverse matching regular expression of parse().

Details

at line 43
__construct(string $pattern, string $timezone)

Parameters

string $pattern The pattern to be used to format and/or parse values
string $timezone The timezone to perform the date/time calculations

at line 77
Transformer[] getTransformers()

Return the array of Transformer objects.

Return Value

Transformer[] Associative array of Transformer objects (format char => Transformer)

at line 89
string format(DateTime $dateTime)

Format a DateTime using ICU dateformat pattern.

Parameters

DateTime $dateTime A DateTime object to be used to generate the formatted value

Return Value

string The formatted value

at line 110
string formatReplace(string $dateChars, DateTime $dateTime)

Return the formatted ICU value for the matched date characters.

Parameters

string $dateChars The date characters to be replaced with a formatted ICU value
DateTime $dateTime A DateTime object to be used to generate the formatted value

Return Value

string The formatted value

Exceptions

NotImplementedException When it encounters a not implemented date character

at line 140
int|false parse(DateTime $dateTime, string $value)

Parse a pattern based string to a timestamp value.

Parameters

DateTime $dateTime A configured DateTime object to use to perform the date calculation
string $value String to convert to a time value

Return Value

int|false The corresponding Unix timestamp

Exceptions

InvalidArgumentException When the value can not be matched with pattern

at line 177
string getReverseMatchingRegExp(string $pattern)

Retrieve a regular expression to match with a formatted value.

Parameters

string $pattern The pattern to create the reverse matching regular expression

Return Value

string The reverse matching regular expression with named captures being formed by the transformer index in the $transformer array

at line 215
bool isQuoteMatch(string $quoteMatch)

Check if the first char of a string is a single quote.

Parameters

string $quoteMatch The string to check

Return Value

bool true if matches, false otherwise

at line 227
string replaceQuoteMatch(string $quoteMatch)

Replaces single quotes at the start or end of a string with two single quotes.

Parameters

string $quoteMatch The string to replace the quotes

Return Value

string A string with the single quotes replaced

at line 243
protected string buildCharsMatch(string $specialChars)

Builds a chars match regular expression.

Parameters

string $specialChars A string of chars to build the regular expression

Return Value

string The chars match regular expression

at line 260
protected array normalizeArray(array $data)

Normalize a preg_replace match array, removing the numeric keys and returning an associative array with the value and pattern values for the matched Transformer.

Parameters

array $data

Return Value

array

at line 287
protected bool|int calculateUnixTimestamp(DateTime $dateTime, array $options)

Calculates the Unix timestamp based on the matched values by the reverse matching regular expression of parse().

Parameters

DateTime $dateTime The DateTime object to be used to calculate the timestamp
array $options An array with the matched values to be used to calculate the timestamp

Return Value

bool|int The calculated timestamp or false if matched date is invalid