oneletter/human-date

0.1 2018-02-12 17:08 UTC

This package is auto-updated.

Last update: 2025-08-15 01:54:09 UTC


README

Class for formatting date intervals.

Install

composer require oneletter/human-date

Usage

<?php

use OneLetter\Common\HumanDate;

$humanDate = new HumanDate('UTC', 'en');

$humanDate->format(new \DateTime('-1 day')); // yesterday at 3:18 pm
$humanDate->format(new \DateTime('-5 hours')); // today at 10:18 am
$humanDate->format(new \DateTime('-50 minutes')); // one hour ago
$humanDate->format(new \DateTime('-4 seconds')); // just now

$humanDate->format(new \DateTime('+1 day')); // tomorrow at 3:18 pm
$humanDate->format(new \DateTime('+5 hours')); // today at 8:18 pm
$humanDate->format(new \DateTime('+50 minutes')); // one hour ago
$humanDate->format(new \DateTime('+4 seconds')); // just now

Intervals

Class distinguishes in past and in future results, all possible results of class working are given in next table.

Past

Interval Formatted
0-5 seconds just now
6-44 seconds xx seconds ago
45 seconds – 1 minute 44 seconds one minute ago
1 minute 45 seconds – 2 minute 44 seconds two minutes ago
2 minute 45 seconds – 3 minute 44 seconds three minutes ago
3 minute 45 seconds – 4 minute 44 seconds four minutes ago
4 minute 45 seconds – 45 minutes 44 seconds xx minutes ago
45 minutes 45 seconds – 1 hour 45 minutes 44 seconds one hour ago
1 hour 45 minutes 45 seconds – 2 hour 45 minutes 44 seconds two hours ago
2 hour 45 minutes 45 seconds – 3 hour 45 minutes 44 seconds three hours ago
3 hour 45 minutes 45 seconds – 4 hour 45 minutes 44 seconds four hours ago
today > 4 hour 45 minutes 45 seconds today at xx:xx
yesterday yesterday at xx:xx
> yesterday xx xx at xx:xx
> year xx xx xxxx at xx:xx

Future

Interval Formatted
0-5 seconds right now
6-44 seconds in a xx seconds
45 seconds – 1 minute 44 seconds in a one minute
1 minute 45 seconds – 2 minute 44 seconds in a two minutes
2 minute 45 seconds – 3 minute 44 seconds in a three minutes
3 minute 45 seconds – 4 minute 44 seconds in a four minutes
4 minute 45 seconds – 45 minutes 44 seconds in a xx minutes
45 minutes 45 seconds – 1 hour 45 minutes 44 seconds in a one hour
1 hour 45 minutes 45 seconds – 2 hour 45 minutes 44 seconds in a two hours
2 hour 45 minutes 45 seconds – 3 hour 45 minutes 44 seconds in a three hours
3 hour 45 minutes 45 seconds – 4 hour 45 minutes 44 seconds in a four hours
today > 4 hour 45 minutes 45 seconds today at xx:xx
tomorrow tomorrow at xx:xx
> tomorrow xx xx at xx:xx
> year xx xx xxxx at xx:xx

Tests

For tests run:

$ composer run test

License

The human-date is open-sourced software licensed under the MIT license.