@ 2012-09-06T16:47:56Z <?php
function scholar_parse_time($time)
{
if (preg_match('/^\s*(?P<hour>\d+)(?>:(?P<minute>\d+))(?>:(?P<second>\d+(\.\d*)?))?\s*$/', $time, $match)) {
$h = intval($match['hour']);
$m = isset($match['minute']) ? intval($match['minute']) : null;
$s = isset($match['second']) ? floatval($match['second']) : null;
$is = null;
if ($h < 24 && (null === $m || $m < 60) && (null === $s || $s < 60)) {
if (null !== $s) {
$is = intval($s);
$ms = $s - $is;
}
return array(
'hour' => $h,
'minute' => $m,
'second' => $is,
'millis' => round($ms * 1000),
'iso' => null === $m
? sprintf('%02d', $h)
: (null === $s
? sprintf('%02d:%02d', $h, $m)
: sprintf('%02d:%02d:%02d', $h, $m, $s)
),
);
}
}
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.'));
Enable javascript to submit You have javascript disabled. You will not be able to edit any code.
Output for 8.0.0 - 8.0.30 , 8.1.0 - 8.1.28 , 8.2.0 - 8.2.18 , 8.3.0 - 8.3.6 Warning: Undefined variable $ms in /in/mcBN7 on line 20
array(5) {
["hour"]=>
int(0)
["minute"]=>
int(1)
["second"]=>
NULL
["millis"]=>
float(0)
["iso"]=>
string(5) "00:01"
}
array(5) {
["hour"]=>
int(0)
["minute"]=>
int(1)
["second"]=>
int(1)
["millis"]=>
float(0)
["iso"]=>
string(8) "00:01:01"
}
array(5) {
["hour"]=>
int(0)
["minute"]=>
int(1)
["second"]=>
int(1)
["millis"]=>
float(100)
["iso"]=>
string(8) "00:01:01"
}
array(5) {
["hour"]=>
int(0)
["minute"]=>
int(1)
["second"]=>
int(1)
["millis"]=>
float(0)
["iso"]=>
string(8) "00:01:01"
}
Output for 5.0.4 - 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.38 , 5.6.0 - 5.6.40 , 7.0.0 - 7.0.33 , 7.1.0 - 7.1.33 , 7.2.0 - 7.2.33 , 7.3.0 - 7.3.31 , 7.4.0 - 7.4.25 , 7.4.27 - 7.4.33 Notice: Undefined variable: ms in /in/mcBN7 on line 20
array(5) {
["hour"]=>
int(0)
["minute"]=>
int(1)
["second"]=>
NULL
["millis"]=>
float(0)
["iso"]=>
string(5) "00:01"
}
array(5) {
["hour"]=>
int(0)
["minute"]=>
int(1)
["second"]=>
int(1)
["millis"]=>
float(0)
["iso"]=>
string(8) "00:01:01"
}
array(5) {
["hour"]=>
int(0)
["minute"]=>
int(1)
["second"]=>
int(1)
["millis"]=>
float(100)
["iso"]=>
string(8) "00:01:01"
}
array(5) {
["hour"]=>
int(0)
["minute"]=>
int(1)
["second"]=>
int(1)
["millis"]=>
float(0)
["iso"]=>
string(8) "00:01:01"
}
Output for 7.3.32 - 7.3.33 , 7.4.26 array(5) {
["hour"]=>
int(0)
["minute"]=>
int(1)
["second"]=>
NULL
["millis"]=>
float(0)
["iso"]=>
string(5) "00:01"
}
array(5) {
["hour"]=>
int(0)
["minute"]=>
int(1)
["second"]=>
int(1)
["millis"]=>
float(0)
["iso"]=>
string(8) "00:01:01"
}
array(5) {
["hour"]=>
int(0)
["minute"]=>
int(1)
["second"]=>
int(1)
["millis"]=>
float(100)
["iso"]=>
string(8) "00:01:01"
}
array(5) {
["hour"]=>
int(0)
["minute"]=>
int(1)
["second"]=>
int(1)
["millis"]=>
float(0)
["iso"]=>
string(8) "00:01:01"
}
Output for 4.3.3 - 4.3.11 , 4.4.0 - 4.4.9 , 5.0.0 - 5.0.3 Notice: Undefined variable: ms in /in/mcBN7 on line 20
array(5) {
["hour"]=>
int(0)
["minute"]=>
int(1)
["second"]=>
NULL
["millis"]=>
float(0)
["iso"]=>
string(5) "00:01"
}
array(5) {
["hour"]=>
int(0)
["minute"]=>
int(1)
["second"]=>
int(1)
["millis"]=>
float(0)
["iso"]=>
string(8) "00:01:01"
}
array(5) {
["hour"]=>
int(0)
["minute"]=>
int(1)
["second"]=>
int(1)
["millis"]=>
float(100)
["iso"]=>
string(8) "00:01:01"
}
array(5) {
["hour"]=>
int(0)
["minute"]=>
int(1)
["second"]=>
int(1)
["millis"]=>
float(0)
["iso"]=>
string(8) "00:01:01"
}
Output for 4.3.0 - 4.3.2 Notice: Undefined index: hour in /in/mcBN7 on line 6
Notice: Undefined variable: ms in /in/mcBN7 on line 20
array(5) {
["hour"]=>
int(0)
["minute"]=>
NULL
["second"]=>
NULL
["millis"]=>
float(0)
["iso"]=>
string(2) "00"
}
Notice: Undefined index: hour in /in/mcBN7 on line 6
Notice: Undefined variable: ms in /in/mcBN7 on line 20
array(5) {
["hour"]=>
int(0)
["minute"]=>
NULL
["second"]=>
NULL
["millis"]=>
float(0)
["iso"]=>
string(2) "00"
}
Notice: Undefined index: hour in /in/mcBN7 on line 6
Notice: Undefined variable: ms in /in/mcBN7 on line 20
array(5) {
["hour"]=>
int(0)
["minute"]=>
NULL
["second"]=>
NULL
["millis"]=>
float(0)
["iso"]=>
string(2) "00"
}
Notice: Undefined index: hour in /in/mcBN7 on line 6
Notice: Undefined variable: ms in /in/mcBN7 on line 20
array(5) {
["hour"]=>
int(0)
["minute"]=>
NULL
["second"]=>
NULL
["millis"]=>
float(0)
["iso"]=>
string(2) "00"
}
preferences:dark mode live preview
265.79 ms | 403 KiB | 460 Q