×

Welcome to TagMyCode

Please login or create account to add a snippet.
0
0
 
0
Language: Javascript
Posted by: Vlad Krasovsky
Added: Oct 16, 2014 6:21 PM
Views: 9
Tags: no tags
  1. <?php
  2.  
  3. /**
  4.  * class to work with client time
  5.  * GMT codes are here
  6.  * http://wwp.greenwichmeantime.com/time-zone/usa/california/los-angeles/
  7.  */
  8.  
  9. class timeConverter {
  10.  
  11.     public static function getServerTime($optionsArr = array()) {
  12.         $origin_tz = date_default_timezone_get();
  13.         $origin_dtz = new DateTimeZone($origin_tz);
  14.         $origin_dt = new DateTime("now", $origin_dtz);
  15.         return $origin_dt;
  16.     }
  17.  
  18.     public static function get_timezone_offset($remote_tz, $origin_tz = null) {
  19.         if ($origin_tz === null) {
  20.             if (!is_string($origin_tz = date_default_timezone_get())) {
  21.                 return false;
  22.             }
  23.         }
  24.  
  25.         $tzString = timeConverter::getTimeZoneString($remote_tz);
  26.        
  27.         $origin_dtz = new DateTimeZone($origin_tz);
  28.         $remote_dtz = new DateTimeZone($tzString);
  29.         $origin_dt = new DateTime("now", $origin_dtz);
  30.         $remote_dt = new DateTime("now", $remote_dtz);
  31.         $offset = $origin_dtz->getOffset($origin_dt) - $remote_dtz->getOffset($remote_dt);
  32.         return $offset;
  33.     }
  34.     /**
  35.      * @param type $gmtValue
  36.      */
  37.     public static function getTimeZoneString($gmtValue){
  38.        if (intval($gmtValue) >= 0 || $gmtValue >= 0){
  39.             $tzString = "+".$gmtValue;
  40.         }
  41.         if (intval($gmtValue) < 0 || $gmtValue < 0){
  42.             $tzString = $gmtValue;
  43.         }
  44.        
  45.         $timeZoneString = "GMT".$tzString;
  46.         return $timeZoneString;
  47.     }
  48.  
  49. }
  50. ?>
  51.  
  52.