Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Eloquent Human Timestamps Laravel Package

chrisdicarlo/eloquent-human-timestamps

Adds human-readable accessors to Eloquent models so timestamp columns like created_at and updated_at can render as phrases such as "3 hours ago" or "in 2 days." Simple Laravel trait integration, customizable formatting, no schema changes needed.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Feature delivery: human-readable timestamps in the product surface. Activity feeds, comment threads, notification centers, audit/admin panels, and inbox-style UIs all need "3 minutes ago" / "yesterday" style output. This package provides that as a reusable Eloquent-level concern rather than ad-hoc formatting scattered through Blade templates and API resources.
  • Consistency decision (build vs. buy). The alternative is a hand-rolled trait plus tests — roughly a day of engineering plus ongoing maintenance. This package is a small, single-purpose dependency that replaces that code. Recommendation: buy, unless we already have a shared formatter utility we're standardizing on.
  • Roadmap input: Laravel 12 readiness. v6.1.0 explicitly adds Laravel 12 support. This is the meaningful signal in this release — it keeps the dependency viable through our next framework upgrade and removes it as a blocker on the Laravel 12 migration checklist.
  • Use cases that map cleanly:
    • Models exposing a derived human-readable attribute for API/Inertia payloads.
    • Persisted human-readable timestamp columns for reporting, CSV exports, or downstream systems that can't parse ISO-8601.
    • Admin/back-office tooling where precise timestamps matter less than quick comprehension.
  • Use cases this does not decide for you: localization of relative-time strings across locales (that's a Carbon + translator concern), timezone/business-calendar logic, or full audit trails (use a dedicated activity-log package). Don't let a timestamp-formatter dependency drift into owning those.

When to Consider This Package

Adopt when:

  • More than one or two models need human-readable timestamp output, and you want one convention instead of three.
  • The team is on a currently supported Laravel version — v6.1.0 confirms Laravel 12; check the README for the exact supported matrix before committing.
  • You want the formatting attached to the model (accessor or column) rather than duplicated in views, API resources, and exports.
  • You need a persisted human-readable column, not just an on-the-fly accessor.

Look elsewhere when:

  • You need locale-aware relative time ("vor 3 Minuten") across many languages — build on Carbon::diffForHumans() with your translation layer instead.
  • A single model in a single view needs this — write the accessor inline; the dependency isn't worth the supply-chain surface.
  • You require database-side formatting, timezone-aware scheduling, or immutable event history — different problem class, different tooling.
  • The package's maintenance cadence or Laravel version support lags your upgrade path. Worth re-checking at each major Laravel release; v6.1.0 is a good sign, but it's a single-maintainer dependency, so keep the pin range tight and be prepared to fork or inline the trait.

On v6.1.0 specifically: minor, additive, no breaking changes and no deprecations. It does not change the adoption calculus — it removes a future blocker. Upgrade is a low-risk composer update; no data migration or code changes implied.

How to Pitch It (Stakeholders)

For executives: A small, low-risk dependency that standardizes how we display "time ago" information across the product, so we stop rebuilding the same formatting logic in every feature. The new release adds Laravel 12 support, which keeps the package aligned with our planned framework upgrade and removes one item from that migration's risk list. Cost is a one-line dependency; exposure is minimal and reversible.

For engineering: Single-purpose package, one trait, no schema changes required unless we opt into persisted columns. v6.1.0 is a minor release adding Laravel 12 compatibility — no breaking changes, no deprecations, no action beyond a version bump. Constrain the version range, verify against our supported Laravel matrix, and add a smoke test asserting output format on one representative model so a future minor release can't silently change presentation. If the maintainer's release cadence stalls behind a future Laravel major, the fallback is inlining the trait — a contained, well-understood piece of code.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums
rlacerda83/query-parser
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings