PHPackages                             eschmar/time-ago-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Templating &amp; Views](/categories/templating)
4. /
5. eschmar/time-ago-bundle

ActiveSymfony-bundle[Templating &amp; Views](/categories/templating)

eschmar/time-ago-bundle
=======================

Provides a simple twig filter for expressing time difference in words.

v2.0.1(4y ago)1851.4k—0%20[1 PRs](https://github.com/eschmar/time-ago-bundle/pulls)MITPHPPHP &gt;=7.1.0

Since Oct 4Pushed 3y ago1 watchersCompare

[ Source](https://github.com/eschmar/time-ago-bundle)[ Packagist](https://packagist.org/packages/eschmar/time-ago-bundle)[ Docs](https://github.com/eschmar/time-ago-bundle)[ RSS](/packages/eschmar-time-ago-bundle/feed)WikiDiscussions develop Synced 1mo ago

READMEChangelog (10)Dependencies (2)Versions (19)Used By (0)

TimeAgoBundle
=============

[](#timeagobundle)

Provides a simple twig filter for expressing time difference in words for Symfony. Uses a range of +-7 days, after that, the actual date is returned.

Install
-------

[](#install)

Composer ([Packagist](https://packagist.org/packages/eschmar/time-ago-bundle)):

```
composer require eschmar/time-ago-bundle ^v2.0.0 # Symfony ^5.0
```

or for older symfony versions:

```
composer require eschmar/time-ago-bundle ^v1.1.0 # Symfony ^4.x
composer require eschmar/time-ago-bundle ~v0.4.0 # Symfony ^2.8
composer require eschmar/time-ago-bundle ~v0.5.0 # Symfony ^3.4
```

app/Appkernel.php (Symfony &lt;4):

```
new Eschmar\TimeAgoBundle\EschmarTimeAgoBundle(),
```

Usage
-----

[](#usage)

```
{{ date('now')|ago }}
{# just now #}

{{ date('now').modify('-3 minutes')|ago }}
{# 3 minutes ago #}

{{ date('now').modify('-3 months')|ago('r') }}
{# actual date in 'r' format #}

{{ date('now').modify('+4 hours')|ago('r') }}
{# in 4 hours #}
```

Change [default format](http://php.net/manual/en/function.date.php) in `config.yml`:

```
eschmar_time_ago:
    format: 'Y-m-d H:i:s'
```

Translations available
======================

[](#translations-available)

- Belarusian
- Croatian
- Czech
- Danish
- Dutch
- English
- French
- Finnish
- German
- Hindi
- Hungarian
- Indonesian
- Italian
- Malay
- Norwegian
- Polish
- Portuguese (Brazil)
- Romanian
- Russian
- Slovenian
- Spanish
- Swedish
- Tagalog
- Turkish
- Ukranian
- Vietnamese

License
=======

[](#license)

MIT License

###  Health Score

40

—

FairBetter than 88% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity38

Limited adoption so far

Community24

Small or concentrated contributor base

Maturity67

Established project with proven stability

 Bus Factor1

Top contributor holds 72.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~123 days

Recently: every ~284 days

Total

17

Last Release

1537d ago

Major Versions

v0.5.0 → v1.0.02019-01-19

v1.1.0 → v2.0.02020-06-04

PHP version history (3 changes)v0.1PHP &gt;=5.3.3

v0.5.0PHP &gt;=5.6.0

v1.0.0PHP &gt;=7.1.0

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/2345471?v=4)[Marcel Eschmann](/maintainers/eschmar)[@eschmar](https://github.com/eschmar)

---

Top Contributors

[![eschmar](https://avatars.githubusercontent.com/u/2345471?v=4)](https://github.com/eschmar "eschmar (80 commits)")[![miyurusankalpa](https://avatars.githubusercontent.com/u/1833185?v=4)](https://github.com/miyurusankalpa "miyurusankalpa (2 commits)")[![hipposen](https://avatars.githubusercontent.com/u/10888467?v=4)](https://github.com/hipposen "hipposen (2 commits)")[![taufikherjanto](https://avatars.githubusercontent.com/u/7003766?v=4)](https://github.com/taufikherjanto "taufikherjanto (2 commits)")[![Kietzmann](https://avatars.githubusercontent.com/u/8254906?v=4)](https://github.com/Kietzmann "Kietzmann (2 commits)")[![p0v1n0m](https://avatars.githubusercontent.com/u/19241364?v=4)](https://github.com/p0v1n0m "p0v1n0m (2 commits)")[![mertaytore](https://avatars.githubusercontent.com/u/10900008?v=4)](https://github.com/mertaytore "mertaytore (1 commits)")[![norvinyecla](https://avatars.githubusercontent.com/u/1312620?v=4)](https://github.com/norvinyecla "norvinyecla (1 commits)")[![ocReaper](https://avatars.githubusercontent.com/u/4038188?v=4)](https://github.com/ocReaper "ocReaper (1 commits)")[![od3n](https://avatars.githubusercontent.com/u/156899?v=4)](https://github.com/od3n "od3n (1 commits)")[![petk](https://avatars.githubusercontent.com/u/1614009?v=4)](https://github.com/petk "petk (1 commits)")[![pixelead0](https://avatars.githubusercontent.com/u/735873?v=4)](https://github.com/pixelead0 "pixelead0 (1 commits)")[![sarkkisjuha](https://avatars.githubusercontent.com/u/5840623?v=4)](https://github.com/sarkkisjuha "sarkkisjuha (1 commits)")[![sarokse](https://avatars.githubusercontent.com/u/109381?v=4)](https://github.com/sarokse "sarokse (1 commits)")[![SimoneStefani](https://avatars.githubusercontent.com/u/13915504?v=4)](https://github.com/SimoneStefani "SimoneStefani (1 commits)")[![simonsolutions](https://avatars.githubusercontent.com/u/20499623?v=4)](https://github.com/simonsolutions "simonsolutions (1 commits)")[![supermansi](https://avatars.githubusercontent.com/u/9841599?v=4)](https://github.com/supermansi "supermansi (1 commits)")[![TheWildHorse](https://avatars.githubusercontent.com/u/3526915?v=4)](https://github.com/TheWildHorse "TheWildHorse (1 commits)")[![voda](https://avatars.githubusercontent.com/u/290157?v=4)](https://github.com/voda "voda (1 commits)")[![058c37a272bed3464d47f0b01038a16a](https://avatars.githubusercontent.com/u/1473832?v=4)](https://github.com/058c37a272bed3464d47f0b01038a16a "058c37a272bed3464d47f0b01038a16a (1 commits)")

---

Tags

symfonysymfony-bundletwigtwig-extensionsymfonybundletwigtimeago

### Embed Badge

![Health badge](/badges/eschmar-time-ago-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/eschmar-time-ago-bundle/health.svg)](https://phpackages.com/packages/eschmar-time-ago-bundle)
```

###  Alternatives

[yellowskies/qr-code-bundle

Symfony Barcode &amp; QR Code Generator Bundle with Twig extension

36682.9k](/packages/yellowskies-qr-code-bundle)[jbouzekri/phumbor-bundle

A Symfony Bundle to use the minimal Thumbor PHP client from webfactory/phumbor

25740.0k1](/packages/jbouzekri-phumbor-bundle)[nucleos/antispam-bundle

This bundle provides some basic features to reduce spam in symfony forms.

52105.1k](/packages/nucleos-antispam-bundle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
