رضا قربانی
یک شنبه 17 دی 1391, 14:16 عصر
سلام و خسته نباشید خدمت تمامی دوستان و همکاران گرامی
امروز روی یه پروژه ای برای شرکتی بودم و تابعی نوشتم که بدرد برنامه نویس های عزیز می خوره و می تونن از این تابع در جاهایی که نیاز دارن استفاده کنن تا یه ثوابی هم ما ببریم :کف:
قضیه از این قراره که مثلا کارفرما یه تاریخی رو برای انجام دادن کار ، توسط شما ثبت می کنه و شما باید تا اون تاریخی که کارفرما درج کرده انجام بدید.
کار تابع : از زمان ثبت تاریخ تا زمانی که شما کار رو انجام دادید(تاریخ جدید) به ساعت براتون مشخص میکنه
مثلا فاصله تاریخ از زمان ثبت تا زمان حال دو روز و 10 ساعت فاصله داره . // خروجی میشه : 34 ساعت
آماده و منظم و خام در اختیار شما :
تابع :
function TiMeLiMiT($inD,$inT,$OutD,$OutT)
{
$InDate=explode('/',$inD);/// تاریخ ثبت اتمام کار '11/10/1391'
$InMah = $InDate[1]; // ماه اتمام
$InRooz = $InDate[0]; // روز اتمام
$InTime =$inT;/// ساعت ثبت اتمام کار فرمت 24 ساعته
$OutDate=explode('/',$OutD);/// در این تاریخ انجام داده ام '10/10/1391'
$OutMah= $OutDate[1]; // ماه انجام داده ام
$OutRooz= $OutDate[0]; //روز انجام داده ام
$OutTime=$OutT;/// در این ساعت انجام داده ام . فرمت 24 ساعته
switch ($OutMah){ case "1": { $RezaDate=31; break; }
case "2": { $RezaDate=31; break; }
case "3": { $RezaDate=31; break; }
case "4": { $RezaDate=31; break; }
case "5": { $RezaDate=31; break; }
case "6": { $RezaDate=31; break; }
case "7": { $RezaDate=30; break; }
case "8": { $RezaDate=30; break; }
case "9": { $RezaDate=30; break; }
case "10": { $RezaDate=30; break; }
case "11": { $RezaDate=30; break; }
case "12": { $RezaDate=29; break; }}
$C= ($InMah-$OutMah) * ($RezaDate * 24) ; // تبدیل هر ماه شمسی به ساعت
$MrGhorbani=(($InRooz-$OutRooz) * 24 ) + ($InTime-$OutTime) + $C ; // تبدیل باقیمانده روز به ساعت
echo $MrGhorbani;
}
TiMeLiMiT($inD,$inT,$OutD,$OutT)
$inD = تاریخ پایان
$inT = ساعت پایان
$OutD = تاریخ حال
$OutT = ساعت حال
نحوه فراخوانی مثلا :
TiMeLiMiT('11/10/1391','20','10/10/1391','10');// OUTPUT : 34 ساعت معادل 2 روز و 10 ساعت فاصله
موفق و پیروز باشید
مارو هم دعا کنید
امروز روی یه پروژه ای برای شرکتی بودم و تابعی نوشتم که بدرد برنامه نویس های عزیز می خوره و می تونن از این تابع در جاهایی که نیاز دارن استفاده کنن تا یه ثوابی هم ما ببریم :کف:
قضیه از این قراره که مثلا کارفرما یه تاریخی رو برای انجام دادن کار ، توسط شما ثبت می کنه و شما باید تا اون تاریخی که کارفرما درج کرده انجام بدید.
کار تابع : از زمان ثبت تاریخ تا زمانی که شما کار رو انجام دادید(تاریخ جدید) به ساعت براتون مشخص میکنه
مثلا فاصله تاریخ از زمان ثبت تا زمان حال دو روز و 10 ساعت فاصله داره . // خروجی میشه : 34 ساعت
آماده و منظم و خام در اختیار شما :
تابع :
function TiMeLiMiT($inD,$inT,$OutD,$OutT)
{
$InDate=explode('/',$inD);/// تاریخ ثبت اتمام کار '11/10/1391'
$InMah = $InDate[1]; // ماه اتمام
$InRooz = $InDate[0]; // روز اتمام
$InTime =$inT;/// ساعت ثبت اتمام کار فرمت 24 ساعته
$OutDate=explode('/',$OutD);/// در این تاریخ انجام داده ام '10/10/1391'
$OutMah= $OutDate[1]; // ماه انجام داده ام
$OutRooz= $OutDate[0]; //روز انجام داده ام
$OutTime=$OutT;/// در این ساعت انجام داده ام . فرمت 24 ساعته
switch ($OutMah){ case "1": { $RezaDate=31; break; }
case "2": { $RezaDate=31; break; }
case "3": { $RezaDate=31; break; }
case "4": { $RezaDate=31; break; }
case "5": { $RezaDate=31; break; }
case "6": { $RezaDate=31; break; }
case "7": { $RezaDate=30; break; }
case "8": { $RezaDate=30; break; }
case "9": { $RezaDate=30; break; }
case "10": { $RezaDate=30; break; }
case "11": { $RezaDate=30; break; }
case "12": { $RezaDate=29; break; }}
$C= ($InMah-$OutMah) * ($RezaDate * 24) ; // تبدیل هر ماه شمسی به ساعت
$MrGhorbani=(($InRooz-$OutRooz) * 24 ) + ($InTime-$OutTime) + $C ; // تبدیل باقیمانده روز به ساعت
echo $MrGhorbani;
}
TiMeLiMiT($inD,$inT,$OutD,$OutT)
$inD = تاریخ پایان
$inT = ساعت پایان
$OutD = تاریخ حال
$OutT = ساعت حال
نحوه فراخوانی مثلا :
TiMeLiMiT('11/10/1391','20','10/10/1391','10');// OUTPUT : 34 ساعت معادل 2 روز و 10 ساعت فاصله
موفق و پیروز باشید
مارو هم دعا کنید