Engelsk tid til sekunder - CSS-triks

Anonim

Bare skriv inn tiden du vil konvertere til sekunder på engelsk (f.eks. “1 time og 30 minutter”), og den blir konvertert til et helt antall sekunder (f.eks. 5400). Takk til Baylor Rae.

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'); )

Enkel bruk

Skjemaet sender inn "tid":

 Time
Test!

Hvis "tid" er satt, bruk funksjonen og ekko det som returneres:

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