我有多个时间行
"42 sec"
"1 min"
"2 h 32 min"
Run Code Online (Sandbox Code Playgroud)
是否可以将其转换为
"00:00:42"
"00:01:00"
"02:32:00"
Run Code Online (Sandbox Code Playgroud)
用PHP?
PHP strtotime()是一个有用的函数,可以将时间的字符串表示转换为unix时间戳.然后,我们可以将时间转换为我们喜欢的任何格式.
但是,您的原始时间字符串不是strtotime()可以直接处理的格式.例如.'h'必须是'小时'.但是如果您的数据一致,我们可能会在传递给strtotime()之前替换它们.
注意我们尝试将原始时间相对于0转换,而不是当前时间.
$rawTimes = array ('42 sec', '1 min', '2 h 32min');
foreach ($rawTimes as $rawTime) {
// Convert into a format that strtotime() can understand
$rawTime = str_replace('h','hour',$rawTime);
echo '"'.$rawTime.'" = "'.gmdate('H:i:s',strtotime($rawTime,0)).'"'."\n";
}
Run Code Online (Sandbox Code Playgroud)
将输出:
"42 sec" = "00:00:42"
"1 min" = "00:01:00"
"2 hour 32min" = "02:32:00"
Run Code Online (Sandbox Code Playgroud)
请注意,strtotime()理解'秒','秒','分钟','分钟'和'小时'.并且似乎处理空间或没有空间,例如."32分钟"或"32分钟"处理好了.
| 归档时间: |
|
| 查看次数: |
333 次 |
| 最近记录: |