загрузка файлов через filedialog в three.js

Я думаю, что самым простым методом было бы использовать функцию strtotime():

$time = '21:30:10';
$seconds = strtotime("1970-01-01 $time UTC");
echo $seconds;

// same with objects (for php5.3+)
$time = '21:30:10';
$dt = new DateTime("1970-01-01 $time", new DateTimeZone('UTC'));
$seconds = (int)$dt->getTimestamp();
echo $seconds;

demo


Функция date_parse() также может использоваться для синтаксического анализа даты и времени:

$time = '21:30:10';
$parsed = date_parse($time);
$seconds = $parsed['hour'] * 3600 + $parsed['minute'] * 60 + $parsed['second'];

demo


Если вы проанализируете формат MM:SS с strtotime() или date_parse() он не сработает (date_parse() используется в strtotime() и DateTime), потому что когда вы вводите формат, подобный xx:yy, парсер предполагает, что он HH:MM, а не MM:SS , Я предлагаю проверить формат и добавить 00:, если у вас есть только MM:SS.

demo strtotime() demo date_parse()


Если у вас есть часы более 24, вы можете использовать следующую функцию (она будет работать в формате MM:SS и HH:MM:SS):

function TimeToSec($time) {
    $sec = 0;
    foreach (array_reverse(explode(':', $time)) as $k => $v) $sec += pow(60, $k) * $v;
    return $sec;
}

демонстрационная

0
задан Joe B Rock 15 January 2019 в 17:52
поделиться