1. Go to this page and download the library: Download chmielewskitomasz/ranges 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/ */
chmielewskitomasz / ranges example snippets
use Hop\Ranges\Range;
use Hop\Ranges\StdRangesCalculator;
$range1 = new Range(
new \DateTime('2018-01-01 00:00:00'),
new \DateTime('2018-01-02 00:05:00')
);
$range2 = new Range(
new \DateTime('2018-01-02 00:06:00'),
new \DateTime('2018-01-02 00:07:00')
);
$range3 = new Range(
new \DateTime('2018-01-02 00:06:30'),
new \DateTime('2018-01-02 00:10:00')
);
$calculator = new StdRangesCalculator();
$ranges = $calculator->sum(
$range1,
$range2,
$range3
);
print_r($ranges);
// prints out
Array
(
[0] => Hop\Ranges\Range Object
(
[dateFrom:Hop\Ranges\Range:private] => DateTime Object
(
[date] => 2018-01-01 00:00:00.000000
[timezone_type] => 3
[timezone] => UTC
)
[dateTo:Hop\Ranges\Range:private] => DateTime Object
(
[date] => 2018-01-02 00:05:00.000000
[timezone_type] => 3
[timezone] => UTC
)
)
----> // this is merged!
[1] => Hop\Ranges\Range Object
(
[dateFrom:Hop\Ranges\Range:private] => DateTime Object
(
[date] => 2018-01-02 00:06:00.000000
[timezone_type] => 3
[timezone] => UTC
)
[dateTo:Hop\Ranges\Range:private] => DateTime Object
(
[date] => 2018-01-02 00:10:00.000000
[timezone_type] => 3
[timezone] => UTC
)
)
)
use Hop\Ranges\Range;
use Hop\Ranges\StdRangesCalculator;
$range1 = new Range(
new \DateTime('2018-01-01 00:00:00'),
new \DateTime('2018-01-05 00:05:00')
);
$range2 = new Range(
new \DateTime('2018-01-02 00:06:00'),
new \DateTime('2018-01-02 00:07:00')
);
$calculator = new StdRangesCalculator();
$ranges = $calculator->sub(
$range1,
$range2
);
print_r($ranges);
// prints out
Array
(
[0] => Hop\Ranges\Range Object
(
[dateFrom:Hop\Ranges\Range:private] => DateTime Object
(
[date] => 2018-01-01 00:00:00.000000
[timezone_type] => 3
[timezone] => UTC
)
[dateTo:Hop\Ranges\Range:private] => DateTime Object
(
[date] => 2018-01-02 00:05:59.000000
[timezone_type] => 3
[timezone] => UTC
)
)
[1] => Hop\Ranges\Range Object
(
[dateFrom:Hop\Ranges\Range:private] => DateTime Object
(
[date] => 2018-01-02 00:07:01.000000
[timezone_type] => 3
[timezone] => UTC
)
[dateTo:Hop\Ranges\Range:private] => DateTime Object
(
[date] => 2018-01-05 00:05:00.000000
[timezone_type] => 3
[timezone] => UTC
)
)
)
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.