Απλώς πληκτρολογήστε την ώρα που θέλετε να μετατραπεί σε δευτερόλεπτα στα αγγλικά (π.χ. "1 ώρα και 30 λεπτά") και θα μετατραπεί σε ακέραιο αριθμό δευτερολέπτων (π.χ. 5400). Χάρη στην 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'); )
Απλή χρήση
Η φόρμα υποβάλλει «ώρα»:
Time
Test!
Εάν έχει οριστεί η "ώρα", χρησιμοποιήστε τη λειτουργία και επαναλάβετε αυτό που επιστρέφεται:
if (isset($_POST)) ( echo time2seconds($_POST('time')); )