Waktu Inggris ke Detik - Trik CSS

Anonim

Cukup ketikkan waktu yang ingin Anda ubah menjadi detik dalam bahasa Inggris (mis. "1 jam dan 30 menit") dan waktu itu akan diubah menjadi bilangan bulat detik (mis. 5400). Terima kasih kepada 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'); )

Penggunaan Sederhana

Pengiriman formulir "waktu":

 Time
Test!

Jika "waktu" disetel, gunakan fungsi dan gema apa yang dikembalikan:

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