X-Git-Url: https://git.llucax.com/mecon/meconlib.git/blobdiff_plain/cacc1525e7102dfef7964462a50e4ff13f02dcc6..8266508aec785b49328716a9a95ac22a8735a3cc:/lib/MECON/Tiempo/Hora.php?ds=sidebyside diff --git a/lib/MECON/Tiempo/Hora.php b/lib/MECON/Tiempo/Hora.php index bae7cae..347f08e 100644 --- a/lib/MECON/Tiempo/Hora.php +++ b/lib/MECON/Tiempo/Hora.php @@ -1,44 +1,55 @@ - | -// +--------------------------------------------------------------------+ -// -// $URL$ -// $Rev$ -// $Date$ -// $Author$ -// + +------------------------------------------------------------------------------- +$Id$ +-----------------------------------------------------------------------------*/ -require_once "Date/Span.php"; +require_once 'Date/Span.php'; /** - * Representa un Intervalo entre 2 horas del mismo dia + * Representa una hora. * * @package HE * @abstract * @version $Rev$ * @author Gonzalo Merayo */ -class Hora extends Date_Span { +class MECON_Tiempo_Hora extends Date_Span { - function set($str) - { - $str = strval($str); - if (preg_match('/^\d+$/', $str)) { - if ($str < 24) { - $str = sprintf('0:%02d:00:00', $str ); - } elseif ($str == 24 or $str == 2400) { - $str = '1:00:00:00'; - } elseif ($str < 2400) { - switch (strlen($str)) { + function set + ($str) { + $str = strval($str); + if (preg_match('/^\d+$/', $str)) { + if ($str < 24) { + $str = sprintf('0:%02d:00:00', $str ); + } + elseif ($str == 24 or $str == 2400) { + $str = '1:00:00:00'; + } + elseif ($str < 2400) { + switch (strlen($str)) { case 2: - $str = sprintf('0:%02d:%02d:00', $str{0}, $str{1}); + $str = sprintf('0:%02d:%02d:00', $str{0}, $str{1}); break; case 3: $str = sprintf('0:%02d:%02d:00', $str{0}, $str{1} . $str{2}); @@ -46,38 +57,46 @@ class Hora extends Date_Span { case 4: $str = sprintf('0:%02d:%02d:00', $str{0} . $str{1}, $str{2} . $str{3}); break; + } + } + else { + return false; } - } else { - return false; } - } elseif (preg_match('/^(\d{0,2})\D(\d{1,2})$/', $str, $m)) { - if ($m[1] < 24 and $m[2] < 60) { - $str = sprintf('0:%02d:%02d:00', $m[1], $m[2]); - } elseif ($m[1] == 24 and $m[2] == 0) { - $str = '1:00:00:00'; - } else { - return false; + elseif (preg_match('/^(\d{0,2})\D(\d{1,2})$/', $str, $m)) { + if ($m[1] < 24 and $m[2] < 60) { + $str = sprintf('0:%02d:%02d:00', $m[1], $m[2]); + } + elseif ($m[1] == 24 and $m[2] == 0) { + $str = '1:00:00:00'; + } + else { + return false; + } } - } elseif (preg_match('/^(\d{0,2})\D(\d{1,2})\D(\d{1,2})$/', $str, $m)) { - if ($m[1] < 24 and $m[2] < 60 and $m[3] < 60) { - $str = sprintf('0:%02d:%02d:%02d', $m[1], $m[2], $m[3]); - } elseif ($m[1] == 24 and $m[2] == 0 and $m[3] == 0) { - $str = '1:00:00:00'; - } else { + elseif (preg_match('/^(\d{0,2})\D(\d{1,2})\D(\d{1,2})$/', $str, $m)) { + if ($m[1] < 24 and $m[2] < 60 and $m[3] < 60) { + $str = sprintf('0:%02d:%02d:%02d', $m[1], $m[2], $m[3]); + } + elseif ($m[1] == 24 and $m[2] == 0 and $m[3] == 0) { + $str = '1:00:00:00'; + } + else { + return false; + } + } + else { return false; } - } else { - return false; + $this->setFromString($str, "%D:%H:%M:%S"); + return true; } - $this->setFromString($str, "%D:%H:%M:%S"); - return true; - } - function get() - { - return $this->format("%E:%M"); - } + function get + () { + return $this->format("%E:%M"); + } } -// $Id$ -?> + +?> \ No newline at end of file