Time(in english) Converted to Seconds - Php

Time Convert to Sec

Snippet Code


  
Rate this page :
  [ 0 votes]

Just type in the time you want converted to seconds in english (e.g. "1 hour and 30 minutes") and it will be converted to an integer of seconds (e.g. 5400).

<?php 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'].' Sec'; } ?> <form method="post" > <label for="time">Time</label> <input type="text" name="time" id="time" size="50" value="<?php echo (isset($_POST['time'])) ? $_POST['time'] : '1 hour 30 minutes' ?>" /> <button name="submit">Test!</button> </form> <?php if (isset($_POST)) { echo time2seconds($_POST['time']); } ?>

Tags


Ask Questions

Ask Question