oneletter / human-date
Installs: 11
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 1
Open Issues: 0
pkg:composer/oneletter/human-date
Requires (Dev)
- phpunit/phpunit: ^6.1
This package is auto-updated.
Last update: 2025-12-15 02:27:23 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.