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 1w ago

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

13

—

LowBetter than 1% of packages

Maintenance33

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

[elgentos/magento2-inventory-log

Magento 2 - Inventory Log

3283.9k](/packages/elgentos-magento2-inventory-log)

PHPackages © 2026

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