ivan-berger/server-timezone

There is no license information available for the latest version (1.0.0) of this package.

Get server time based on IP timezone

1.0.0 2025-03-19 17:50 UTC

This package is auto-updated.

Last update: 2025-05-19 18:20:13 UTC


README

This is a test project to retrieve the server's current time based on the provided IP address.

Description

The project includes a ServerTimeZone class that provides functionality to get the current server time using the IP address. It uses an external time API to fetch the current time and timezone information.

Installation

  1. Clone the repository:
    git clone https://github.com/rchitector/ServerTimeZone.git
  2. Navigate to the project directory:
    cd ServerTimeZone
  3. Install the dependencies using Composer:
    composer install

Usage

To get the current server time based on the provided IP address, you can use the ServerTimeZone class:

use IvanBerger\ServerTimeZone\IPProvider;
use IvanBerger\ServerTimeZone\TimeServiceException;
use IvanBerger\ServerTimeZone\ServerTimeZone;

try {
    $ipProvider = new IPProvider();
    $ip = $ipProvider->detectIP();
    echo 'Current IP detected: ' . $ip . PHP_EOL;
    $serverTime = new ServerTimeZone($ip);
    $cdt = $serverTime->getCurrentDateTime();
    echo 'Current server time detected: ' . $cdt->format('Y-m-d H:i:s P');
} catch (TimeServiceException $e) {
    echo 'Error: '.$e->getMessage();
}