Anglijos laikas iki sekundžių CSS-gudrybės

Turinys

Tiesiog įveskite laiką, kurį norite konvertuoti į sekundes anglų kalba (pvz., „1 valanda ir 30 minučių“), ir jis bus konvertuotas į sveiką sekundžių skaičių (pvz., 5400). Ačiū Baylorui Rae'ui.

function time2seconds($time) ( preg_match_all('/(\d+ (a-z)+)/', $time, $matches); $matches = $matches(0); $formats = array(); foreach ($matches as $format) ( preg_match('/(\d+)\s?((a-z)+)/', $format, $f); $time = $f(1); $type = $f(2); $formats($type) = $time; ) $output = array( 'years' => 0, 'months' => 0, 'days' => 0, 'hours' => 0, 'minutes' => 0, 'seconds' => 0 ); foreach ($formats as $format => $time) ( if( $time == 0 ) continue; switch ($format) ( case 'year' : case 'years' : $output('years') = $time * 12 * 30 * 24 * 60 * 60; break; case 'month' : case 'months' : $output('months') = $time * 30 * 24 * 60 * 60; break; case 'day' : case 'days' : $output('days') = $time * 24 * 60 * 60; break; case 'hour' : case 'hours' : $output('hours') = $time * 60 * 60; break; case 'minute' : case 'minutes' : $output('minutes') = $time * 60; break; case 'second' : case 'seconds' : $output('seconds') = $time; break; ) ) return $output('years') + $output('months') + $output('days') + $output('hours') + $output('minutes') + $output('seconds'); )

Paprastas naudojimas

Forma pateikia „laiką“:

 Time
Test!

Jei nustatytas laikas, naudokite funkciją ir pakartokite, kas grąžinama:

if (isset($_POST)) ( echo time2seconds($_POST('time')); )

Įdomios straipsniai...