1. Go to this page and download the library: Download district5/date library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
district5 / date example snippets
// Get the utc now time
use District5\Date\Date;
use District5\Date\Tz\TzConstants;
$now = Date::now()->utc(); // A datetime object
// Get the time in London now
$now = Date::now()->london(); // A datetime object
// Get the time in ETS now
$now = Date::now()->eastern(); // A datetime object
// Get the time in a specific timezone now
$now = Date::now()->inTimezone(TzConstants::AMERICA_ANCHORAGE); // A datetime object
// Get the epoch as a DateTime
$epoch = Date::epoch();
use District5\Date\Date;
$date = Date::now()->utc();
// Set the date to the 21st March 2016
$newDate = Date::modify($date)->setDate(21, 3, 2015);
// Set the date to the 21st March 2016 in place - The original object changes (but is also returned)
Date::modify($date, false)->setDate(21, 3, 2015);
// Set the time to the 18:16:02 and 1 microsecond
$newDate = Date::modify($date)->setTime(18, 56, 2, 1);
// Set the time to the 18:16:02 and 1 microsecond in place - The original object changes (but is also returned)
Date::modify($date, false)->setTime(18, 56, 2, 1);
// Set the hours of the time to 10
$newDate = Date::modify($date)->setHours(10)
// Set the hours of the time to 10 in place - The original object changes (but is also returned)
Date::modify($date, false)->setHours(10)
// Set the minutes of the time to 10
$newDate = Date::modify($date)->setMinutes(10)
// Set the minutes of the time to 10 in place - The original object changes (but is also returned)
Date::modify($date, false)->setMinutes(10)
// Set the seconds of the time to 10
$newDate = Date::modify($date)->setSeconds(10)
// Set the seconds of the time to 10 in place - The original object changes (but is also returned)
Date::modify($date, false)->setSeconds(10)
// Set the microseconds of the time to 10
$newDate = Date::modify($date)->setMicroseconds(10)
// Set the microseconds of the time to 10 in place - The original object changes (but is also returned)
Date::modify($date, false)->setMicroseconds(10)
// Apply a string modified to at DateTime
$newDate = Date::modify($date)->withString('-5 seconds');
// Apply a string modified to at DateTime in place - The original object changes (but is also returned)
Date::modify($date, false)->withString('-5 seconds');
use District5\Date\Date;
$date = Date::now()->utc();
// Take 2 microseconds off a date
$newDate = Date::modify($date)->minus()->microseconds(2);
// Take 2 microseconds off a date in place - The original object changes (but is also returned)
Date::modify($date, false)->minus()->microseconds(2);
// Take 2 milliseconds off a date
$newDate = Date::modify($date)->minus()->milliseconds(2);
// Take 2 milliseconds off a date in place - The original object changes (but is also returned)
Date::modify($date, false)->minus()->milliseconds(2);
// Take 2 seconds off a date
$newDate = Date::modify($date)->minus()->seconds(2);
// Take 2 seconds off a date in place - The original object changes (but is also returned)
Date::modify($date, false)->minus()->seconds(2);
// Take 2 minutes off a date
$newDate = Date::modify($date)->minus()->minutes(2);
// Take 2 minutes off a date in place - The original object changes (but is also returned)
$newDate = Date::modify($date, false)->minus()->minutes(2);
// Take 2 hours off a date
$newDate = Date::modify($date)->minus()->hours(2);
// Take 2 hours off a date in place - The original object changes (but is also returned)
$newDate = Date::modify($date, false)->minus()->hours(2);
// Take 2 hours and 5 minutes off a date
$newDate = Date::modify($date)->minus()->hoursAndMinutes(2, 5);
// Take 2 hours and 5 minutes off a date in place - The original object changes (but is also returned)
$newDate = Date::modify($date, false)->minus()->hoursAndMinutes(2, 5);
// Take 2 hours, 5 minutes and 10 seconds off a date
$newDate = Date::modify($date)->minus()->hoursAndMinutesAndSeconds(2, 5, 10);
// Take 2 hours, 5 minutes and 10 seconds off a date in place - The original object changes (but is also returned)
$newDate = Date::modify($date, false)->minus()->hoursAndMinutesAndSeconds(2, 5, 10);
// Take 2 days off a date
$newDate = Date::modify($date)->minus()->days(2);
// Take 2 days off a date in place - The original object changes (but is also returned)
$newDate = Date::modify($date, false)->minus()->days(2);
// Take 2 weeks off a date
$newDate = Date::modify($date)->minus()->weeks(2);
// Take 2 weeks off a date in place - The original object changes (but is also returned)
$newDate = Date::modify($date, false)->minus()->weeks(2);
// Take 2 months off a date
$newDate = Date::modify($date)->minus()->months(2);
// Take 2 months off a date in place - The original object changes (but is also returned)
$newDate = Date::modify($date, false)->minus()->months(2);
// Take 2 years off a date
$newDate = Date::modify($date)->minus()->years(2);
// Take 2 years off a date in place - The original object changes (but is also returned)
$newDate = Date::modify($date, false)->minus()->years(2);
// Take 2 decades off a date
$newDate = Date::modify($date)->minus()->decades(2);
// Take 2 decades off a date in place - The original object changes (but is also returned)
$newDate = Date::modify($date, false)->minus()->decades(2);
// Take 2 centuries off a date
$newDate = Date::modify($date)->minus()->centuries(2);
// Take 2 centuries off a date in place - The original object changes (but is also returned)
$newDate = Date::modify($date, false)->minus()->centuries(2);
// Take 2 millennia off a date
$newDate = Date::modify($date)->minus()->millennia(2);
// Take 2 millennia off a date in place - The original object changes (but is also returned)
$newDate = Date::modify($date, false)->minus()->millennia(2);
use District5\Date\Date;
$date = Date::now()->utc();
// Add 2 microseconds to a date
$newDate = Date::modify($date)->plus()->microseconds(2);
// Add 2 microseconds to a date in place - The original object changes (but is also returned)
Date::modify($date, false)->plus()->microseconds(2);
// Add 2 milliseconds to a date
$newDate = Date::modify($date)->plus()->milliseconds(2);
// Add 2 milliseconds to a date in place - The original object changes (but is also returned)
Date::modify($date, false)->plus()->milliseconds(2);
// Add 2 seconds to a date
$newDate = Date::modify($date)->plus()->seconds(2);
// Add 2 seconds to a date in place - The original object changes (but is also returned)
Date::modify($date, false)->plus()->seconds(2);
// Add 2 minutes to a date
$newDate = Date::modify($date)->plus()->minutes(2);
// Add 2 minutes to a date in place - The original object changes (but is also returned)
Date::modify($date, false)->plus()->minutes(2);
// Add 2 hours to a date
$newDate = Date::modify($date)->plus()->hours(2);
// Add 2 hours to a date in place - The original object changes (but is also returned)
Date::modify($date, false)->plus()->hours(2);
// Add 2 hours and 5 minutes to a date
$newDate = Date::modify($date)->plus()->hoursAndMinutes(2, 5);
// Add 2 hours and 5 minutes to a date in place - The original object changes (but is also returned)
Date::modify($date, false)->plus()->hoursAndMinutes(2, 5);
// Add 2 hours, 5 minutes and 10 seconds to a date
$newDate = Date::modify($date)->plus()->hoursAndMinutesAndSeconds(2, 5, 10);
// Add 2 hours, 5 minutes and 10 seconds to a date in place - The original object changes (but is also returned)
Date::modify($date, false)->plus()->hoursAndMinutesAndSeconds(2, 5, 10);
// Add 2 days to a date
$newDate = Date::modify($date)->plus()->days(2);
// Add 2 days to a date in place - The original object changes (but is also returned)
Date::modify($date, false)->plus()->days(2);
// Add 2 weeks to a date
$newDate = Date::modify($date)->plus()->weeks(2);
// Add 2 weeks to a date in place - The original object changes (but is also returned)
Date::modify($date, false)->plus()->weeks(2);
// Add 2 months to a date
$newDate = Date::modify($date)->plus()->months(2);
// Add 2 months to a date in place - The original object changes (but is also returned)
Date::modify($date, false)->plus()->months(2);
// Add 2 years to a date
$newDate = Date::modify($date)->plus()->years(2);
// Add 2 years to a date in place - The original object changes (but is also returned)
Date::modify($date, false)->plus()->years(2);
// Add 2 decades to a date
$newDate = Date::modify($date)->plus()->decades(2);
// Add 2 decades to a date in place - The original object changes (but is also returned)
Date::modify($date, false)->plus()->decades(2);
// Add 2 centuries to a date
$newDate = Date::modify($date)->plus()->centuries(2);
// Add 2 centuries to a date in place - The original object changes (but is also returned)
Date::modify($date, false)->plus()->centuries(2);
// Add 2 millennia to a date
$newDate = Date::modify($date)->plus()->millennia(2);
// Add 2 millennia to a date in place - The original object changes (but is also returned)
Date::modify($date, false)->plus()->millennia(2);
use District5\Date\Date;
use District5\Date\Tz\TzConstants;
$convertToMadrid = Date::timezone(
Date::nowDefault()
)->toTimezone(
TzConstants::EUROPE_MADRID
);
$convertFromMadridToLondon = Date::timezone(
$convertToMadrid
)->toTimezoneFromTimezone(
TzConstants::EUROPE_LONDON,
TzConstants::EUROPE_MADRID
);
// Timezone is also DateTime timezone aware, so if the DateTime has a timezone, you don't need to specify where it's from.
$convertFromMadridToLondonWithoutSpecifyingMadrid = Date::timezone(
$convertToMadrid
)->toTimezoneFromTimezone(
TzConstants::EUROPE_LONDON
);
// Get the utc now time
use District5\Date\Date;
$now = Date::now()->utc(); // A datetime object
// Last day of month from DateTime
$result = Date::month()->lastDateInMonthFromDateTime($now);
// Last day of month from given month and year
$result = Date::month()->lastDateInMonth(2, 2020); // returns 29th Feb 2020
$result = Date::month()->lastDateInMonth(2, 2019); // returns 28th Feb 2019
// Last day in current month
$result = Date::month()->lastDateInCurrentMonth();
// First day of month from DateTime
$result = Date::month()->firstDateInMonthFromDateTime($now);
// First day of month from given month and year
$result = Date::month()->firstDateInMonth(2, 2020);
// First day in current month
$result = Date::month()->firstDateInCurrentMonth();
// Get the utc now time
use District5\Date\Date;
$now = Date::now()->utc(); // A datetime object
// Convert the native DateTime to a \MongoDB\BSON\UTCDateTime object
$mongo = Date::mongo()->convertTo($now);
// Convert the \MongoDB\BSON\UTCDateTime object to a native DateTime
$native = Date::mongo()->convertFrom($mongo);
use District5\Date\Date;
use District5\Date\Validators\DateTimeValidator;
$date = Date::now()->utc();
// Yesterday
$result = Date::validateObject($date)->isYesterday(); // false
// Today
$result = Date::validateObject($date)->isToday(); // true
// Tomorrow
$result = Date::validateObject($date)->isTomorrow(); // false
// Is this a Friday?
$result = Date::validateObject($date)->isDayOfWeekX(DateTimeValidator::DAY_FRIDAY);
// Or the short way:
$result = Date::validateObject($date)->isFriday();
// Is this date May?
$result = Date::validateObject($date)->isMonthNumberX(DateTimeValidator::MONTH_MAY);
// Or the short way:
$result = Date::validateObject($date)->isMay();
// Is this a leap year?
$result = Date::validateObject($date)->isLeapYear();
// Is this AM or PM?
$result = Date::validateObject($date)->isAM();
$result = Date::validateObject($date)->isPM();
// Convert a string date to a DateTime object
use District5\Date\Date;
$dateTime = Date::input('2020-02-05')->fromYMD($separator = '-'); // defaults to '-' as the separator
$dateTime = Date::input('05-02-2020')->fromDMY($separator = '-'); // defaults to '-' as the separator
$dateTime = Date::input('02-05-2020')->fromMDY($separator = '-'); // defaults to '-' as the separator
$dateTime = Date::input('02-05-2020 14:53:59')->fromYMDHIS($dateSeparator = '-', $timeSeparator = ':');
$dateTime = Date::input('1610549639')->fromTimestamp();
$dateTime = Date::input('1610549639')->fromUnixTimestamp();
$dateTime = Date::input('1610549639.001')->fromMicrosecondTimestamp();
$dateTime = Date::input('1610549639.1')->fromMillisecondTimestamp();
$dateTime = Date::input('2021-01-13T14:53:59+0000')->fromISO8601();
// Or use a custom format
$dateTime = Date::input('05/02/2020')->fromFormat($format = 'd/m/Y');
// Convert a string datetime to a DateTime object
$dateTime = Date::input('05/02/2020')->fromYMDHIS($dateSeparator = '-', $timeSeparator = ':'); // defaults to '-' and ':'
// And many more!
use District5\Date\Date;
$thisYearsDate = Date::recurring()->starWarsDay()->thisYear();
$nextYearsDate = Date::recurring()->starWarsDay()->nextYear(); // Will be the one in the current year +1.
$nextInstance = Date::recurring()->starWarsDay()->getNext(); // Either this year, or next year if today > 4th May.
$lastYear = Date::recurring()->starWarsDay()->getPrevious();
use District5\Date\Date;
use District5\Date\Tz\TzConstants;
$output = Date::output(
// 13th January 2021 @ 14:53:59.999000
Date::createYMDHISM(2021, 1, 13, 14, 53, 59, 999, TzConstants::UTC)
);
$str = $output->toFormat('Y-m-d H:i:s'); // use a custom output format.
$str = $output->getDaySuffix(); // 'th' - The day suffix, for example: rd, th, st etc
$int = $output->getYear(); // 2021 - The integer year of this date
$int = $output->getMonth(); // 1 - The integer month of this date
$int = $output->getWeek(); // 2 - The integer week number, for example 52 (some years have 53)
$int = $output->getDay(); // 13 - The integer day of the month
$str = $output->getHourMinutes(); // '14:53' - The string of HH:MM time
$str = $output->getHourMinutesSeconds(); // '14:53:59' - The string of HH:MM:SS time
$int = $output->getHour(); // 14 - The integer hour of this date
$int = $output->getMinutes(); // 53 - The integer minutes of this date
$int = $output->getSeconds(); // 59 - The integer seconds of this date
$int = $output->getMicroseconds(); // 999000 - The integer microseconds of this date
$int = $output->getMilliseconds(); // 999 - The integer milliseconds of this date
$str = $output->toTimeHM(':'); // '14:53' - The string of HH:MM time using the default separator (can be changed)
$str = $output->toTimeHMS(':'); // '14:53:59' - The string of HH:MM:SS time using the default separator (can be changed)
$str = $output->toYMD(true, '-'); // '2021-01-13' - The string of the date as YYYY-MM-DD using the default separator (can be changed)
$str = $output->toDMY(true, '-'); // '13-01-2021' - The string of the date as DD-MM-YYYY using the default separator (can be changed)
$str = $output->toMDY(true, '-'); // '01-13-2021' - The string of the date as MM-DD-YYYY using the default separator (can be changed)
$str = $output->toTimestamp(true); // '1610549639' - The string (or int if false passed) of the DateTime
$str = $output->toUnixTimestamp(true); // '1610549639' - The string (or int if false passed) of the DateTime
$int = $output->toTimestamp(false); // int(1610549639) - The integer timestamp because false is passed.
$int = $output->toUnixTimestamp(false); // int(1610549639) - The integer timestamp because false is passed.
$str = $output->toMicrosecondTimestamp(true); // '1610549639.000999' - Microsecond timestamp. A string because true is passed
$str = $output->toMillisecondTimestamp(true); // '1610549639.000' - Millisecond timestamp. A string because true is passed
$float = $output->toMicrosecondTimestamp(false); // float(1610549639.001) - Microsecond timestamp. A float because false is passed
$float = $output->toMillisecondTimestamp(false); // float(1610549639) - Millisecond timestamp. A float because false is passed
$str = $output->toISO8601(); // '2021-01-13T14:53:59+0000' - The ISO 8601 format of the DateTime
\District5\Utility\Date::NowPlusXHours(5);
use District5\Utility\DateMongo;
DateMongo::MongoUTCDateTimeToPHPDateTime();
DateMongo::MongoUTCDateTimeToTimestampInt();
DateMongo::MongoUTCDateTimeToTimestampMillisInt();
DateMongo::PHPDateTimeToMongoUTCDateTime();
$stopwatch = new \District5\Utility\Stopwatch();
$stopwatch->start();
...
$secondsPassed = $stopwatch->secondsPassed();
$maxTimeSeconds = 300;
$stopwatch = new \District5\Utility\Stopwatch($maxTimeSeconds);
$stopwatch->start();
while (!$stopwatch->hasMaxTimePassed())
{
// do some work
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.