camroncade/timezone
Laravel package for working with timezones. It provides curated timezone identifier lists, select-menu helpers, and validation support, making it easy to build timezone pickers and user settings without maintaining your own arrays. Includes offset helpers for timezone-aware forms.
DateTimeZone::listIdentifiers() plus Blade/HTML helpers. The realistic "buy" cost is a single Composer dependency; the realistic "build" cost is roughly 30–60 lines of code you fully control. That asymmetry is the core decision this package forces.Consider it when all of the following hold:
composer.json.moment-timezone/Intl-based components) is overkill for your current scope.Look elsewhere — or write it yourself — when:
<select> for a global consumer audience).Intl.DateTimeFormat().resolvedOptions().timeZone), or DST-aware labels — none of which are in scope here.For executives (one paragraph): Timezone selection is a small but user-visible piece of our accounts and scheduling experience, and getting it wrong produces support tickets and mis-scheduled notifications. This package offers a ready-made dropdown in about a day of integration, but it was last released in 2019 and is effectively unmaintained — meaning we'd inherit a dependency nobody will fix if it breaks on a future framework upgrade. Because the underlying functionality is a thin wrapper over a built-in PHP feature, my recommendation is to borrow the design, not the dependency: implement the selector in-house (~1 day of engineering), keep the UX benefits, and avoid a stale third-party package in our supply chain.
For engineering (the ask): Spike the package (30 minutes) to confirm whether it boots on our Laravel/PHP target. Default position is to replicate its API surface — a helper returning DateTimeZone::listIdentifiers() keyed for a Blade select, with a default and pass-through attributes — as a small internal utility with tests. Adopt the package outright only if the spike passes cleanly and we agree to pin the version and accept ownership of any future breakage.
Risk summary: low technical complexity, low integration cost, moderate supply-chain risk. Low effort does not mean low obligation — an unmaintained dependency is still a dependency.
How can I help you explore Laravel packages today?