Conversie minute in sir de forma HH:mm in limbajul php

Configurare noua (How To)

Situatie

Deoarece calculele ce implică ore și minute sunt făcute în sistem zecimal (baza 10) iar orele sunt în sistem sexazecimal (baza 60) o conversie de forma

// 130 minute => 2 ore 10 min

echo round(130/60,2); // va afisa 2.17 (incorect)

 

Va afisa un numar incorect.

Solutie

Pasi de urmat

In continuare o sa va prezint o varianta de cod php pentru convertirea unor minute in ore si minute.

$decimal_time = 130 / 60;

$hour = intval($decimal_time);

if ( strlen($hour) == 1 ) {

$hour = ‘0’ . $hour;

}

$decimal_time -= intval($decimal_time);

$decimal_time *= 60;

$min = round($decimal_time);

if ( strlen($min) == 1 ) {

$min = ‘0’ . $min;

}

echo $hour . ‘:’ . $min; // va afisa 02:10 (timp corect)

Pe baza codului de mai sus se poate implementa o functie care poate fi apelata mult mai usor in proiecte:

/**

* conversie minute in ore:min

*

* @param int $total_min

*

* @return str ‘HH:MM’

**/

function conversie_timp($total_min) {

if ( ! $total_min )

return ’00:00′;

$decimal_time = $total_min / 60;

$hour = intval($decimal_time);

if ( strlen($hour) == 1)

$hour = ‘0’ . $hour;

$decimal_time -= intval($decimal_time);

$decimal_time *= 60;

$min = round($decimal_time);

if ( strlen($min) == 1)

$min = ‘0’ . $min;

return $hour . ‘:’ . $min;

}

// apelul functiei

echo conversie_timp(140); // va afisa 02:20

Tip solutie

Permanent

Voteaza

(14 din 31 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?