krzysztofzylka / date
Date library
1.1.1
2025-04-08 19:59 UTC
Requires
- php: >=7.4
Requires (Dev)
- phpunit/phpunit: ^9.6
README
composer require krzysztofzylka/date
Create instance
$date = new \Krzysztofzylka\Date\Date();
Static methods
Create instance
\Krzysztofzylka\Date\Date::create() \Krzysztofzylka\Date\Date::create(time()) \Krzysztofzylka\Date\Date::create(date('Y-m-d H:i:s')) \Krzysztofzylka\Date\Date::create(new DateTime())
Method
Gets
Get time
$date->getTime()
Get date
$date->getDate()
Get day
$date->getDay()
Get month
$date->getMonth()
Get year
$date->getYear()
Get ISO8601 date format
$date->getISO8601()
Date difference
$date = \Krzysztofzylka\Date\Date::create(); $date2 = \Krzysztofzylka\Date\Date::create($date)->addDay(1); var_dump($date->getDifference($date2)); //['years' => 0, 'months' => 0, 'days' => 1, 'hours' => 0, 'minutes' => 0, 'seconds' => 0]
Get weekday difference
$date->getWeekdayDifference($date)
Sets
Set date
$date->set(null) $date->set(time()) $date->set(date('Y-m-d H:i:s'))
Format
Change default format (Y-m-d H:i:s)
$date->format($format)
Add
Add second to date
$date->addSecond($seconds)
Add minute to date
$date->addMinute($minutes)
Add hours to date
$date->addHour($hours)
Add day to date
$date->addDay($days)
Add weeks to date
$date->addWeek($weeks)
Add month to date
$date->addMonth($months, $fixCalculate)
Example
$date = new \Krzysztofzylka\Date\Date('2024-03-31'); $date->addMonth(1); echo $date->getDate('Y-m-d'); //2024-04-30 $date = new \Krzysztofzylka\Date\Date('2024-03-31', false); $date->addMonth(1); echo $date->getDate('Y-m-d'); //2024-05-01
Add year to date
$date->addYear($years)
Subtract
Subtract second from date
$date->subSecond($seconds)
Subtract minute from date
$date->subMinute($minutes)
Subtract hours from date
$date->subHour($hours)
Subtract day from date
$date->subDay($days)
Subtract weeks from date
$date->subWeek($weeks)
Subtract month from date
$date->subMonth($months)
Subtract year from date
$date->subYear($years)
Check
Date is before
$date->isBefore($date)
Date is after
$date->isAfter($date)
Is equal
$date->isEqual($date)
Start of day
$date->startOfDay()
End of day
$date->endOfDay()
Is weekend
$date->isWeekend()
Is weekday
$date->isWeekday()
is leap year
$date->isLeapYear()
Utils
Get date month difference
\Krzysztofzylka\Date\DateUtils::dateMonthDifference($dateFrom, $dateTo)
Get simple date
\Krzysztofzylka\Date\DateUtils::getSimpleDate() \Krzysztofzylka\Date\DateUtils::getSimpleDate(true) //with microseconds
Get seconds to date
\Krzysztofzylka\Date\DateUtils::getSecondsToDate($seconds)
Date difference
$date = \Krzysztofzylka\Date\Date::create(); $date2 = \Krzysztofzylka\Date\Date::create($date)->addDay(1); var_dump(\Krzysztofzylka\Date\DateUtils::getDifference($date, $date2)); //['years' => 0, 'months' => 0, 'days' => 1, 'hours' => 0, 'minutes' => 0, 'seconds' => 0]