07-02-2006, 20:53
|
|
|
חבר מתאריך: 20.02.03
הודעות: 2,396
|
|
מחלקה להמרת זמנים
אין לי מושג אם מישהו יצטרך את זה מתישהו, אבל אם כן אז תהנו
השימוש במחלקה הוא לצורכי נוחות בלבד, ולא לשם הסבר על עבודה נכונה עם OOP! (כי שום דבר כאן לא קשור ל OOP )
קוד PHP:
<?
/**
* Simple_time_conv is a simple php class for strings time covertion (hours,minutes)
* PHP >= 4 required
* All rights reserved.
*
*/
class simple_time_conv
{
/**
*
* @param int $n
* @return float
*/
function get_fraction($n)
{
return (float) sprintf("%01.2f",($n/60));
}
/**
*
* @param string $s
* @return float
*/
function time2str($s)
{
if(!strpos($s,":")!==false)
return "wrong input";
list($hours,$minutes) = explode(":",$s);
return $hours+$this->get_fraction($minutes);
}
/**
*
* @param float $s
* @return string
*/
function str2time($s)
{
if(!strpos($s,".")!==false)
return "wrong input";
list($hours,$minutes) = explode(".",$s);
return $hours.":".($minutes*0.6);
}
/**
*
* @param string $s
* @param boolean $time
* @return string
*/
function gross_str($s,$time = false)
{
if(!strpos($s," ")!==false)
return "wrong input";
if($time)
return $this->str2time(eval("return ".(str_replace(" ","+",$s)).";"));
else
return eval("return ".(str_replace(" ","+",$s)).";");
}
}
$time = new simple_time_conv();
echo $time->str2time(1.25)."\n";
echo $time->time2str("1:30")."\n\n";
echo $time->gross_str("2 3/4",true)."\n";
echo $time->gross_str("2 3/4")."\n";
?>
לא נראה לי שיהיו שאלות, אבל אם כן אשמח לענות.
אשמח כמובן לשמוע גם על באגים במידה ואתם מוצאים
בברכה,
דקל
_____________________________________
"מתכנת זה אדם שפותר בעיה שעל קיומה לא ידעת, בדרך שאינך מבין"
נערך לאחרונה ע"י דקל בתאריך 07-02-2006 בשעה 23:20.
|