Skip to content

Instantly share code, notes, and snippets.

@nyamsprod
Created February 23, 2022 08:22
Show Gist options
  • Save nyamsprod/6ee93039e070a3c28e717c7d95b6b991 to your computer and use it in GitHub Desktop.
Save nyamsprod/6ee93039e070a3c28e717c7d95b6b991 to your computer and use it in GitHub Desktop.
evolution of Period string representation API
<?php
use League\Period\Period;
$period = new Period('2021-01-01', '2021-04-01');
echo $period; //displays 2021-01-01T00:00:00.000000Z/2021-04-01T00:00:00.000000Z
<?php
use League\Period\Period;
$period = new Period('2021-01-01', '2021-04-01', Period::EXCLUDE_ALL);
echo $period; // displays 2021-01-01T00:00:00.000000Z/2021-04-01T00:00:00.000000Z
echo $period->toIso8601(); // displays 2021-01-01T00:00:00.000000Z/2021-04-01T00:00:00.000000Z
echo $period->toIso8601('Y-m-d'); // displays 2021-01-01/2021-04-01
echo $period->format('Y-m-d'); // displays (2021-01-01, 2021-04-01)
<?php
use League\Period\Period;
$period = new Period('2021-01-01', '2021-04-01', Period::EXCLUDE_ALL);
echo $period; // displays 2021-01-01T00:00:00.000000Z/2021-04-01T00:00:00.000000Z
echo $period->format('Y-m-d'); // displays (2021-01-01, 2021-04-01)
<?php
use League\Period\Bounds;
use League\Period\Period;
$period = Period::fromDate('2021-01-01', '2021-04-01', Bounds::ExcludeAll);
echo $period->toIso8601(); // displays 2021-01-01T00:00:00.000000Z/2021-04-01T00:00:00.000000Z
echo $period->toIso8601('Y-m-d'); // displays 2021-01-01/2021-04-01
echo $period->toIso80000('Y-m-d'); // displays (2021-01-01, 2021-04-01)
echo $period->toBourbaki('Y-m-d'); // displays ]2021-01-01, 2021-04-01[
echo Period::fromIsoBourbaki('Y-m-d', ']2021-01-01, 2021-04-01[')->toIso80000('Y-m-d'); // displays (2021-01-01, 2021-04-01)
echo Period::fromIso80000('Y-m-d', '(2021-01-01, 2021-04-01)')->toBourbaki('Y-m-d'); // displays ]2021-01-01, 2021-04-01[
echo Period::fromIso8601('Y-m-d', '2021-01-01/2021-04-01', Bounds::ExcludeAll)->toIso8601('Y-m-d'); // displays 2021-01-01/2021-04-01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment