![ישן](https://static.fresh.co.il/images/vBulletin/statusicon/post_old.gif)
07-02-2006, 20:53
|
|
|
חבר מתאריך: 20.02.03
הודעות: 2,396
|
|
מחלקה להמרת זמנים
אין לי מושג אם מישהו יצטרך את זה מתישהו, אבל אם כן אז תהנו ![Smile](images/smilies/smile.gif)
השימוש במחלקה הוא לצורכי נוחות בלבד, ולא לשם הסבר על עבודה נכונה עם 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";
?>
לא נראה לי שיהיו שאלות, אבל אם כן אשמח לענות.
אשמח כמובן לשמוע גם על באגים במידה ואתם מוצאים ![Smile](images/smilies/smile.gif)
בברכה,
דקל
_____________________________________
"מתכנת זה אדם שפותר בעיה שעל קיומה לא ידעת, בדרך שאינך מבין"
נערך לאחרונה ע"י דקל בתאריך 07-02-2006 בשעה 23:20.
|