محمد مهدی نورانی
3 سال پیش توسط محمد مهدی نورانی مطرح شد
1 پاسخ

تبدیل ساعت:دقیقه:ثانیه به ساعت

سلام

دوستان من مقدار زمان رو به این شکل دارم

02:30:00

و میخوام اونو تبدیل به ساعت کنم، یعنی جواب میشه:

2.5

در اینجا ساعت رو داریم و دقیقه و ثانیه رو باید درصد بگیریم که مشخص بشه چند ساعت و خورده ای هست

میخواستم بدونم تابعی برای این مورد هست؟ یا دوستان پلاگینی براش دیدن ؟


ثبت پرسش جدید
ASPgo
تخصص : HTML، CSS، PHP و JS، طراح قالب...
@asp.gosk 3 سال پیش آپدیت شد
3

کد:

$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

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام