راکت
حل شده

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

1 پاسخ

سلام

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

02:30:00

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

2.5

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

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

ثبت پرسش جدید

پاسخ‌ها

1
ASPgo
ASPgo
@asp.gosk

تخصص: HTML، CSS، PHP و JS، طراح قالب و افزونه وردپرس، سئوکار و مقاله نویس

بهترین پاسخ

کد:

$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

شاید پاسخ شما همین‌جا باشد

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

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