class TimeZoneTransformer extends Transformer

Parser and formatter for time zone format.

Methods

string
format(DateTime $dateTime, int $length)

Format a value using a configured DateTime as date/time source.

string
getReverseMatchingRegExp(int $length)

Returns a reverse matching regular expression of a string generated by format().

array
extractDateOptions(string $matched, int $length)

Extract date options from a matched value returned by the processing of the reverse matching regular expression.

string
padLeft(string $value, int $length)

Pad a string with zeros to the left.

static string
getEtcTimeZoneId(string $formattedTimeZone)

Get an Etc/GMT timezone identifier for the specified timezone.

Details

at line 30
string format(DateTime $dateTime, int $length)

Format a value using a configured DateTime as date/time source.

Parameters

DateTime $dateTime A DateTime object to be used to generate the formatted value
int $length The formatted value string length

Return Value

string The formatted value

at line 66
string getReverseMatchingRegExp(int $length)

Returns a reverse matching regular expression of a string generated by format().

Parameters

int $length The length of the value to be reverse matched

Return Value

string The reverse matching regular expression

at line 74
array extractDateOptions(string $matched, int $length)

Extract date options from a matched value returned by the processing of the reverse matching regular expression.

Parameters

string $matched The matched value
int $length The length of the Transformer pattern string

Return Value

array An associative array

in Transformer at line 62
protected string padLeft(string $value, int $length)

Pad a string with zeros to the left.

Parameters

string $value The string to be padded
int $length The length to pad

Return Value

string The padded string

at line 101
static string getEtcTimeZoneId(string $formattedTimeZone)

Get an Etc/GMT timezone identifier for the specified timezone.

The PHP documentation for timezones states to not use the 'Other' time zones because them exists "for backwards compatibility". However all Etc/GMT time zones are in the tz database 'etcetera' file, which indicates they are not deprecated (neither are old names).

Only GMT, Etc/Universal, Etc/Zulu, Etc/Greenwich, Etc/GMT-0, Etc/GMT+0 and Etc/GMT0 are old names and are linked to Etc/GMT or Etc/UTC.

Parameters

string $formattedTimeZone A GMT timezone string (GMT-03:00, e.g.)

Return Value

string A timezone identifier

Exceptions

NotImplementedException When the GMT time zone have minutes offset different than zero
InvalidArgumentException When the value can not be matched with pattern

See also

http://php.net/manual/en/timezones.others.php
http://www.twinsun.com/tz/tz-link.htm