Carbon datatime api


https://carbon.nesbot.com/docs/

http://zetcode.com/php/carbon/

 

<?php
    $item['time'] = sprintf("%02d:%02d:%02d", floor($time / 3600), floor($time / 60) % 60, $time % 60);

 Create sample  

cd 
mkdir phptest 
cd phptest

composer require nesbot/carbon

cat <<EOT > 1.php 
<?php
require 'vendor/autoload.php';

use Carbon\Carbon;

printf("Now: %s", Carbon::now());
EOT
s .
s 1.php
php 1.php


 

 

<?php
require 'vendor/autoload.php';

use Carbon\Carbon;

# последнее число или add days
$days= 30  ;
$startPeriod = '2018-02-15';
$res = Carbon::createFromFormat("Y-m-d", $startPeriod);

if ( $days > $res->daysInMonth-1 )
    $res = $res->endOfMonth()->toDateString();
else
    $res = $res->startOfMonth()->addDays($days-1)->toDateString();

$s['lastDate'] = $res;
$s['days'] = $days;
$s['daysInMonth'] = Carbon::createFromFormat("Y-m-d", $startPeriod)->daysInMonth;
$s['days > daysInMonth'] =  $days > Carbon::createFromFormat("Y-m-d", $startPeriod)->daysInMonth-1;
print_r($s);