Ranger

Last Commit 9cc0885 (December 4, 2024 12:00 am)
Repository https://github.com/magicoli/ranger
License MIT

Ranger is a formatter for date and time ranges, based (somewhat loosely) on Adam Shaw’s formatRange algorithm in fullCalendar.

Some Examples


<?php
use OpenPsaRangerRanger;

$ranger = new Ranger(‘en’); echo $ranger->format(‘2013-10-05’, ‘2013-10-20’); // Oct 5–20, 2013 echo $ranger->format(‘2013-10-05’, ‘2013-11-20’); // Oct 5 – Nov 20, 2013

$ranger = new Ranger(‘en_GB’); echo $ranger->format(‘2013-10-05’, ‘2013-10-20’); // 5–20 Oct 2013 echo $ranger->format(‘2013-10-05’, ‘2013-11-20’); // 5 Oct – 20 Nov 2013

$ranger = new Ranger(‘de’); echo $ranger->format(‘2013-10-05’, ‘2013-10-20’); // 05.–20.10.2013 echo $ranger->format(‘2013-10-05’, ‘2013-11-20’); // 05.10.–20.11.2013

Usage

To use Ranger in any other locale than "en", you will need to have the php-intl extension installed.

Instantiate ranger with the name of your locale as the parameter. You can also pass null to use the ini.default_locale setting. Afterwards, you can call format() with two date parameters. Accepted types are

  • DateTime objects
    • strings (any format that DateTime can read)
    • Unix timestamps
    • null (which means current date).

Output Customization


<?php
use OpenPsaRangerRanger;
use IntlDateFormatter;

$ranger = new Ranger(‘en’); $ranger ->setRangeSeparator(‘ and ‘) ->setDateTimeSeparator(‘, between ‘) ->setDateType(IntlDateFormatter::LONG) ->setTimeType(IntlDateFormatter::SHORT);

echo $ranger->format(‘2013-10-05 10:00:01’, ‘2013-10-05 13:30:00’); // October 5, 2013, between 10:00 AM and 1:30 PM

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *