Dates

Esi\Utility\Dates

timeDifference

Formats the difference between two timestamps to be human-readable.

use Esi\Utility\Dates;

$diff = Dates::timeDifference(time() - (604800 * 5));

echo $diff; // '1 month(s) old'

timezoneInfo

Retrieves information about a timezone.

use Esi\Utility\Dates;

$zoneInfo = Dates::timezoneInfo('America/New_York');
print_r($zoneInfo);

/*
Array
(
    [offset] => -5
    [country] => US
    [latitude] => 40.71416
    [longitude] => -74.00639
    [dst] => 
)
*/

validTimezone

Determines if a given timezone is valid, according to PHP's Timezone List

use Esi\Utility\Dates;

var_dump(Dates::validTimezone('InvalidTimezone')); // bool(false)
var_dump(Dates::validTimezone('America/New_York')); // bool(true)

validateTimestamp

Determines if a given timestamp matches the valid range that is typically found in a unix timestamp (at least in PHP). Typically, a timestamp for PHP can be valid if it is either 0 or between 8 and 11 digits in length.

use Esi\Utility\Dates;

var_dump(Dates::validateTimestamp(123456789012)); // bool(false)
var_dump(Dates::validateTimestamp(1234567)); // bool(false)
var_dump(Dates::validateTimestamp(123456789)); // bool(true)