php-pretty-datetime

Generates human-readable strings for PHP DateTime objects

  • Owner: danielstjules/php-pretty-datetime
  • Platform:
  • License:: MIT License
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

php-pretty-datetime

Generates human-readable strings for PHP DateTime objects. It handles dates in the past and future. For future dates, it uses the format 'In x unit', ie: 'In 1 minute'. For dates in the past, it uses 'x unit ago', ie: '2 years ago'.

Note: Comparison of dates, for those beyond a day apart, uses the difference between their Unix timestamps.

Installation

If you're using Composer to manage dependencies, you can include the following
in your composer.json file:

"require": {
    "danielstjules/php-pretty-datetime": "~1.0.0"
}

Otherwise, you can simply require the file directly:

require_once 'path/to/php-pretty-datetime/src/PrettyDateTime.php';

Usage

use PrettyDateTime\PrettyDateTime;

PrettyDateTime::parse(new DateTime('now'));         // Moments ago
PrettyDateTime::parse(new DateTime('+ 59 second')); // Seconds from now
PrettyDateTime::parse(new DateTime('+ 1 minute'));  // In 1 minute
PrettyDateTime::parse(new DateTime('- 59 minute')); // 59 minutes ago

// You can supply a secondary argument to provide an alternate reference
// DateTime. The default is the current DateTime, ie: DateTime('now'). In
// addition, it takes into account the day of each DateTime. So in the next
// two examples, even though they're only a second apart, 'Yesterday' and
// 'Tomorrow' will be displayed

$now = new DateTime('1991-05-18 00:00:00 UTC');
$dateTime = new DateTime('1991-05-17 23:59:59 UTC');
PrettyDateTime::parse($dateTime, $now); // Yesterday

$now = new DateTime('1991-05-17 23:59:59 UTC');
$dateTime = new DateTime('1991-05-18 00:00:00 UTC');
PrettyDateTime::parse($dateTime, $now) // Tomorrow

Tests

Build Status

From the project directory, tests can be ran using phpunit

License

Released under the MIT License - see LICENSE.txt for details.

Main metrics

Overview
Name With Ownerdanielstjules/php-pretty-datetime
Primary LanguagePHP
Program languagePHP (Language Count: 1)
Platform
License:MIT License
所有者活动
Created At2013-07-03 03:59:19
Pushed At2024-02-03 09:10:45
Last Commit At2018-08-22 23:05:47
Release Count1
Last Release Name1.0.0 (Posted on )
First Release Name1.0.0 (Posted on )
用户参与
Stargazers Count58
Watchers Count4
Fork Count9
Commits Count21
Has Issues Enabled
Issues Count3
Issue Open Count0
Pull Requests Count1
Pull Requests Open Count1
Pull Requests Close Count0
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private