PHPackages                             merrick/laravel-shopify-timezones - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. merrick/laravel-shopify-timezones

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

merrick/laravel-shopify-timezones
=================================

Laravel package providing the full list of Shopify supported timezones (hardcoded from IANA with friendly names and offsets)

1.0.0(3mo ago)01MITPHPPHP ^8.1|^8.2|^8.3

Since Jan 26Pushed 3mo agoCompare

[ Source](https://github.com/merrick67/laravel-shopify-timezones)[ Packagist](https://packagist.org/packages/merrick/laravel-shopify-timezones)[ RSS](/packages/merrick-laravel-shopify-timezones/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (1)Versions (2)Used By (0)

Merrick Laravel Shopify Timezones
=================================

[](#merrick-laravel-shopify-timezones)

[![Packagist Version](https://camo.githubusercontent.com/ed6e473f177b0e11d059e622cd7dd0a59654ffed684ae85b67c63d729c0fe02b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6d65727269636b2f6c61726176656c2d73686f706966792d74696d657a6f6e65732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/merrick/laravel-shopify-timezones)[![Downloads](https://camo.githubusercontent.com/e9844228ffc5e4a30ec1ce5a07cf8e29f3057dd5b9afc3b6d33c2b4cba12e2a1/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6d65727269636b2f6c61726176656c2d73686f706966792d74696d657a6f6e65732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/merrick/laravel-shopify-timezones)

A lightweight Laravel package that provides the **full list of timezones supported by Shopify**, hardcoded from the IANA timezone database with friendly names and GMT offsets exactly as shown in Shopify Admin dropdown (e.g., "(GMT-05:00) Eastern Time (US &amp; Canada)").

Features:

- Timezone **code** (IANA identifier), **friendly display name**, and **offset**.
- Sorted like Shopify Admin: Most used timezones first (US/Canada zones, Europe, Asia...), then alphabetical by display name.
- No database, no migrations, no API calls – pure PHP enum + static data for instant performance.

Perfect for:

- Timezone dropdowns in store settings or user profiles
- Matching Shopify store timezone exactly
- Validation rules for timezone inputs
- Scheduling features, order notifications, or analytics

Requirements
------------

[](#requirements)

- PHP ^8.1 | ^8.2 | ^8.3
- Laravel ^9.0 | ^10.0 | ^11.0 | ^12.0 (illuminate/support)

Installation
------------

[](#installation)

Install via Composer (live on Packagist):

```
composer require merrick/laravel-shopify-timezones
```

For local development/testing:

Add to your project's `composer.json`:

```
"repositories": [
    {
        "type": "vcs",
        "url": "https://github.com/merrick67/laravel-shopify-timezones"
    }
],
"require": {
    "merrick/laravel-shopify-timezones": "dev-main"
}
```

Then run:

```
composer update merrick/laravel-shopify-timezones
```

No manual configuration or provider registration needed – auto-registered.

Usage
-----

[](#usage)

### 1. Via Facade (Recommended)

[](#1-via-facade-recommended)

```
use Merrick\ShopifyTimezones\Facades\ShopifyTimezones;

// Get all timezone codes (IANA identifiers) as array
$codes = ShopifyTimezones::codes();

// Get full Collection (sorted like Shopify Admin dropdown)
$timezones = ShopifyTimezones::all();
// Example items:
// ['code' => 'America/New_York', 'display' => '(GMT-05:00) Eastern Time (US & Canada)', 'offset' => 'GMT-05:00']
// ['code' => 'Europe/London', 'display' => '(GMT+00:00) Dublin, Edinburgh, Lisbon, London', 'offset' => 'GMT+00:00']

// Validate a timezone code
$isValid = ShopifyTimezones::isValid('America/Chicago'); // true
```

### 2. Via Helper Functions

[](#2-via-helper-functions)

```
$codes = shopify_timezone_codes();          // array of codes
$timezones = shopify_timezones();           // full collection with display
$isValid = is_shopify_timezone('UTC');      // true
```

### 3. Via Service Container

[](#3-via-service-container)

```
use Merrick\ShopifyTimezones\Services\ShopifyTimezoneService;

$service = app(ShopifyTimezoneService::class);
$timezones = $service->all();
```

### Blade Dropdown Example (Matches Shopify Admin Exactly)

[](#blade-dropdown-example-matches-shopify-admin-exactly)

```

    @foreach (ShopifyTimezones::all() as $tz)

            {{ $tz['display'] }}

    @endforeach

```

Result preview (just like Shopify Admin General settings):

- (GMT-12:00) International Date Line West
- (GMT-11:00) American Samoa
- (GMT-10:00) Hawaii
- ...
- (GMT-05:00) Eastern Time (US &amp; Canada)
- (GMT+00:00) Dublin, Edinburgh, Lisbon, London
- ...

### Available Methods

[](#available-methods)

MethodReturn TypeDescription`codes()``array`All IANA timezone codes`all()``Collection`Full list with `code`, `display`, `offset` (Most used first)`isValid(string $code)``bool`Check if timezone is supported by ShopifyWhy Hardcoded?
--------------

[](#why-hardcoded)

Shopify's timezone list is stable and based on IANA database. Hardcoding ensures:

- Exact match with Shopify Admin dropdown (friendly names + offsets)
- No external API dependencies
- Instant loading and zero runtime overhead

Version History
---------------

[](#version-history)

- **1.0.0**: Initial release with full timezone list, friendly display, offset, and Most used sorting.

Contributing
------------

[](#contributing)

Report missing timezones, suggest improvements, or open PRs on GitHub:

License
-------

[](#license)

MIT License

See [LICENSE](LICENSE) for details.

###  Health Score

35

—

LowBetter than 80% of packages

Maintenance80

Actively maintained with recent releases

Popularity1

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

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

Unknown

Total

1

Last Release

106d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/f6c486903f58b862a5eb5eb0d9cda2218a3e85f192535a894e2c05fb6ce27258?d=identicon)[merrick67](/maintainers/merrick67)

### Embed Badge

![Health badge](/badges/merrick-laravel-shopify-timezones/health.svg)

```
[![Health](https://phpackages.com/badges/merrick-laravel-shopify-timezones/health.svg)](https://phpackages.com/packages/merrick-laravel-shopify-timezones)
```

###  Alternatives

[barryvdh/laravel-ide-helper

Laravel IDE Helper, generates correct PHPDocs for all Facade classes, to improve auto-completion.

14.9k123.0M687](/packages/barryvdh-laravel-ide-helper)[orchestra/canvas

Code Generators for Laravel Applications and Packages

21017.2M158](/packages/orchestra-canvas)[illuminate/pipeline

The Illuminate Pipeline package.

9446.6M213](/packages/illuminate-pipeline)[illuminate/pagination

The Illuminate Pagination package.

10532.5M862](/packages/illuminate-pagination)[spatie/laravel-pjax

A pjax middleware for Laravel 5

513371.8k11](/packages/spatie-laravel-pjax)[spatie/laravel-mix-preload

Add preload and prefetch links based your Mix manifest

169176.0k2](/packages/spatie-laravel-mix-preload)

PHPackages © 2026

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