Location: PHPKode > scripts > Timestamp classes > timestamp-classes/Timestamp.php
<?php
/**
 * Timestamp class.
 * Intended to handle timestamp and calculate it for different GMT shifts
 * 
 * @author   Eugene Panin <hide@address.com>
 * @home     http://www.tortuga.pp.ru
 * @package  Timestamp
 * @version  1.0
 * @access   public
 */
class Timestamp {

  /**
   * Timestamp value
   *
   * @var      string Unix timestamp
   * @access   private
   */
  var $_val = '';

  /**
   * Local place GMT shift
   *
   * @var      int
   * @access   private
   */
  var $_ls = 0;

  /**
   * Remote place GMT shift
   *
   * @var      int
   * @access   private
   */
  var $_rs = 0;

  /**
   * Constructor
   *
   * @param string $val Unix timestamp
   * @return object Timestamp
   * @access public
   */
  function Timestamp($val='') {
    if ($val) {
      $this->_val = $val;
    }
    else {
      $this->_val = time();
    }
  }

  /**
   * Sets timestamp
   *
   * @param string $val Unix timestamp
   * @return void
   * @access public
   */
  function setValue($val) {
    $this->_val = $val;
  }

  /**
   * Returns timestamp
   *
   * @param string $format Format (see strftime)
   * @param int $tps This place GMT shift
   * @param int $rps Remote place GMT shift
   * @return string Unix timestamp
   * @access public
   */
  function getValue($format='') {
    $res = $this->_val;
    if ($this->_ls && $this->_rs) {
      $lsSeconds = $this->_ls*60*60;
      $rsSeconds = $this->_rs*60*60;
      $res = $res + ($rsSeconds-$lsSeconds);
    }
    if ($format) {
      $res = strftime($format,$res);
    }
    return $res;
  }

  /**
   * Sets local place timestamp
   *
   * @param string $val Unix timestamp
   * @return void
   * @access public
   */
  function setLocalGMTShift($val) {
    $this->_ls = $val;
  }

  /**
   * Returns local place GTM shift
   *
   * @return int GMT shift
   * @access public
   */
  function getLocalGMTShift() {
    return $this->_ls;
  }

  /**
   * Sets remote place timestamp
   *
   * @param string $val Unix timestamp
   * @return void
   * @access public
   */
  function setRemoteGMTShift($val) {
    $this->_rs = $val;
  }

  /**
   * Returns remote place GTM shift
   *
   * @return int GMT shift
   * @access public
   */
  function getRemoteGMTShift() {
    return $this->_rs;
  }


} // class
?>
Return current item: Timestamp classes