2017 © Pedro Peláez
 

library geo-timezone

PHP library for timezone calculation from a particular location and date.

image

minube/geo-timezone

PHP library for timezone calculation from a particular location and date.

  • Friday, July 20, 2018
  • by abmo
  • Repository
  • 12 Watchers
  • 8 Stars
  • 6 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 9 Versions
  • 100 % Grown

The README.md

Geo-Timezone PHP Library

Build Status Code Coverage Scrutinizer Code Quality Build Status, (*1)

Based on the node-geo-tz package, this PHP library calculates the timezone associated to a particular location based on coordinates (latitude, longitude) and timestamp reference. Therefore, this library provides the local date of a particular location in any moment too. In addition, it is based on the timezones boundaries extracted by timezone-boundary-builder tool, so it is necessary to always use the latest version of this package. In order to improve the timezone search through the boundaries, node-geo-tz proposes to create a tree of directories based on dividing the Earth in quadrants and sub-quadrants iteratively. This tree is called "data.zip" in the reference library., (*2)

Requirements

GEOS PHP extension is needed to run library. So, you should download and compile it running the script bin/compile-geos .sh; then, the library called "geos.so" will be added to /usr/lib/php. As you can see, this script contains the installation of some php extensions that will be necessary in the next step of the installation process., (*3)

Once you have compiled the GEOS PHP extension, you should create the file geos.ini in order to enable the module and improve the performance consequently., (*4)

Finally, you should run the composer file, so the rest of necessary libraries will be installed., (*5)

Usage

There are two main classes:, (*6)

  • UpdaterData: script that downloads the last version of the timezone boundaries data and creates the tree of directories (data.zip). It takes a few hours, so you can use "data.zip" from node-geo-tz to test for the first time. Otherwise, you can run the UpdaterData script in order to get the last version and create the directories tree. Destination folder must have write permisions
    use GeoTimeZone\UpdaterData;

    $updater = new UpdaterData("/path/to/data/");
    $updater->updateData();
  • Calculator: provides the timezone name or the local date associated to a particular latitude, longitude and timestamp.
    use GeoTimeZone\Calculator;

    $latitude = 39.452800;
    $longitude = -0.347038;
    $timestamp = 1469387760;

    $calculator = new Calculator("/path/to/data/");

    // Local date
    $localDate = $calculator->getLocalDate($latitude, $longitude, $timestamp);
    /* DateTime Object
    (
        [date] => 2016-07-24 21:16:00.000000
        [timezone_type] => 3
        [timezone] => Europe/Madrid
    )
    */

    // TimeZone name
    $timeZoneName = $calculator->getTimeZoneName($latitude, $longitude);
    //Europe/Madrid

The Versions

20/07 2018

dev-testGuzzle

dev-testGuzzle http://minube.com

PHP library for timezone calculation from a particular location and date.

  Sources   Download

The Requires

 

28/09 2017

dev-master

9999999-dev http://minube.com

PHP library for timezone calculation from a particular location and date.

  Sources   Download

The Requires

 

28/09 2017

1.0.3

1.0.3.0 http://minube.com

PHP library for timezone calculation from a particular location and date.

  Sources   Download

The Requires

 

28/09 2017

dev-dev

dev-dev http://minube.com

PHP library for timezone calculation from a particular location and date.

  Sources   Download

The Requires

 

28/09 2017

dev-feature/MIN-8668

dev-feature/MIN-8668 http://minube.com

PHP library for timezone calculation from a particular location and date.

  Sources   Download

The Requires

 

21/09 2017

1.0.2

1.0.2.0 http://minube.com

PHP library for timezone calculation from a particular location and date.

  Sources   Download

The Requires

 

21/09 2017

dev-feature/MIN-8623

dev-feature/MIN-8623 http://minube.com

PHP library for timezone calculation from a particular location and date.

  Sources   Download

The Requires

 

07/09 2017

1.0.1

1.0.1.0 http://minube.com

PHP library for timezone calculation from a particular location and date.

  Sources   Download

The Requires

 

31/08 2017

1.0.0

1.0.0.0

  Sources   Download

The Requires