<?php
function scholar_parse_time($time)
{
if (preg_match('/^\s*(\d+):(\d+)(:(\d+(?>\.\d*)?))?\s*$/', $time, $match)) {
list(, $h, $m,) = $match;
// sekundy sa opcjonalne, trzeba je pobrac inaczej
$s = isset($match[4]) ? floatval($match[4]) : 0;
if ($h < 24 && $m < 60 && $s < 60) {
$is = intval($s);
$ms = $s - $is;
return array(
'hour' => $h,
'minute' => $m,
'second' => $is,
'millis' => round($ms * 1000),
'iso' => sprintf('%02d:%02d:%02d', $h, $m, $is),
);
}
}
return false;
}
var_dump(scholar_parse_time('0:1'));
var_dump(scholar_parse_time('0:1:1'));
var_dump(scholar_parse_time('0:1:1.1'));
var_dump(scholar_parse_time('0:1:1.'));
- Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.36, 5.6.0 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.7
- array(5) {
["hour"]=>
string(1) "0"
["minute"]=>
string(1) "1"
["second"]=>
int(0)
["millis"]=>
float(0)
["iso"]=>
string(8) "00:01:00"
}
array(5) {
["hour"]=>
string(1) "0"
["minute"]=>
string(1) "1"
["second"]=>
int(1)
["millis"]=>
float(0)
["iso"]=>
string(8) "00:01:01"
}
array(5) {
["hour"]=>
string(1) "0"
["minute"]=>
string(1) "1"
["second"]=>
int(1)
["millis"]=>
float(100)
["iso"]=>
string(8) "00:01:01"
}
array(5) {
["hour"]=>
string(1) "0"
["minute"]=>
string(1) "1"
["second"]=>
int(1)
["millis"]=>
float(0)
["iso"]=>
string(8) "00:01:01"
}
preferences:
255.87 ms | 407 KiB | 378 Q