phplegends/timespan

This package is abandoned and no longer maintained. The author suggests using the wallacemaxters/timespan package instead.

A timespan library

1.0.0 2021-12-22 01:22 UTC

This package is auto-updated.

Last update: 2024-02-12 15:34:24 UTC


README

This is a library to work only with time durations in PHP.

With it you can work with the time very simply:

use PHPLegends\Timespan\Timespan;

$time = new Timespan(0, 0, 10);

echo $time->format(); // '00:00:10'

$time->addSeconds(30);

echo $time->format(); // '00:00:40'

$time->addSeconds(-50);

echo $time->format(); // '-00:00:10'

$time->addMinutes(2);

echo $time->format('%i minutes %s seconds');  // '1 minutes 50 seconds'

An example of time duration:

$time = Timespan::createFromFormat(
    Timespan::DEFAULT_FORMAT, 
    '26:00:00'
);

echo $time->format(); // '26:00:00'

For create time duration from DateTime Diff, you can use Timespan::createFromDateDiff.

$timespan = Timespan::createFromDateDiff(
    new DateTime('2021-01-01 23:00:00'),
    new DateTime('2021-01-03 02:00:00')
);

echo $timespan->format(); // '27:00:00'

Available time format characters

Character Description
%h The hour value.
%i The minute value. From `0`to `59`.
%I The total minutes value.
%s The second value. From `0`to `59`.