PHPackages                             olehlytiuha/geo-time - 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. olehlytiuha/geo-time

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

olehlytiuha/geo-time
====================

PSR-20 ClockInterface based on IP geolocation timezone (Laravel Implementation)

01PHP

Since May 26Pushed 1y agoCompare

[ Source](https://github.com/olegL20/GeoTimezone)[ Packagist](https://packagist.org/packages/olehlytiuha/geo-time)[ RSS](/packages/olehlytiuha-geo-time/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

// README.md (excerpt)

Geo Clock (Laravel Package)
===========================

[](#geo-clock-laravel-package)

This package implements a PSR-20 `ClockInterface` using geolocation time detection.

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

[](#requirements)

- PHP &gt;= 8.2
- Laravel Framework &gt;= 10.x

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

[](#installation)

```
composer require paynoomo/geo-clock
```

Configuration
-------------

[](#configuration)

```
php artisan vendor:publish --tag=geo-clock-config
```

Edit `.env`:

```
GEO_TIMEZONE_API_URL=https://timeapi.io/api/Time/current/ip
GEO_TIMEZONE_API_KEY=your-key-if-needed
```

### How to obtain an API Key

[](#how-to-obtain-an-api-key)

To use [ipgeolocation.io](https://ipgeolocation.io), follow these steps:

1. Go to  and **Sign Up**.
2. Log in to your dashboard.
3. Navigate to:
4. Your **API Key** will be visible in the top right corner or under the "API Key" section.
5. Copy and paste it into your `.env` file:

```
GEO_TIMEZONE_API_URL=https://api.ipgeolocation.io/timezone
GEO_TIMEZONE_API_KEY=your-api-key-here
```

> ⚠️ Do **not** commit your `.env` file with secrets to version control.

Usage
-----

[](#usage)

```
use GeoTimezone\Interfaces\GeoClientInterface;

public function __construct(GeoClientInterface $geoClient) {
    $time = $geoClient->getLocalTimeByIp('8.8.8.8');
}
```

Testing
-------

[](#testing)

```
composer test
```

###  Health Score

14

—

LowBetter than 1% of packages

Maintenance35

Infrequent updates — may be unmaintained

Popularity1

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity15

Early-stage or recently created project

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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/743137057a3afc064523620f2ad04880b68f9d1130be171713ebcfb7744dd8a5?d=identicon)[olegL20](/maintainers/olegL20)

### Embed Badge

![Health badge](/badges/olehlytiuha-geo-time/health.svg)

```
[![Health](https://phpackages.com/badges/olehlytiuha-geo-time/health.svg)](https://phpackages.com/packages/olehlytiuha-geo-time)
```

###  Alternatives

[marcelweidum/filament-expiration-notice

Customize the livewire expiration notice

94135.4k5](/packages/marcelweidum-filament-expiration-notice)[omnia-digital/livewire-calendar

Laravel Livewire calendar component

13268.5k](/packages/omnia-digital-livewire-calendar)

PHPackages © 2026

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