سلام
دوستان من مقدار زمان رو به این شکل دارم
02:30:00
و میخوام اونو تبدیل به ساعت کنم، یعنی جواب میشه:
2.5
در اینجا ساعت رو داریم و دقیقه و ثانیه رو باید درصد بگیریم که مشخص بشه چند ساعت و خورده ای هست
میخواستم بدونم تابعی برای این مورد هست؟ یا دوستان پلاگینی براش دیدن ؟
کد:
$val = '00:02:37';
function hours_tofloat($val){
if (empty($val)) {
return 0;
}
$parts = explode(':', $val);
return (int) (($parts[0] * 60 *60) + $parts[1]*60 + $parts[2]);
}
echo hours_tofloat($val);
منبع
کد بالا ورودی
H:M:S // H = ساعت, M = دقیقه, و S = ثانیه
رو تبدیل به ثانیه میکنه. مثلا اگه ورودی 00:02:00 یا همون 2 دقیقه باشه خروجی میشه 120
اما همونطور که گفتی به حالت اعشاری یا همون Float(یا double) ساعت احتیاج داری پس میایم خروجی رو دوبار تقسیم بر 60 میکنیم تا ساعت بدست بیاد. پس کد قبلی رو به این شکل مینویسیم:
$val = '01:00:00';
function hours_tofloat($val){
if (empty($val)) {
return 0;
}
$parts = explode(':', $val);
return (int) (($parts[0] * 60 *60) + $parts[1]*60 + $parts[2]) / 60 / 60; // تقسیم ها رو همزمان با Return انجام دادیم.
}
echo hours_tofloat($val);
حالا اگه ورودی:
01:30:00
باشه خروجی میشه:
1.5
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟