我从包含军事时间的数据库中提取值为1330(不要问为什么)
我想将1330转换为13:30,然后将strtotime转为13:30:00至下午1:30
我让作家阻止我如何放置冒号:在3到3个字符之间,在1330
答案 0 :(得分:5)
一种显而易见的方法是使用substr
:
$time = "1330";
$new_time = substr($time, 0, 2) . ':' . substr($time, 2);
另一个解决方案是preg_replace
:
$time = "1330";
$new_time = preg_replace('/(\d{2})(\d{2})/', '\1:\2', $time);
此外,str_split
是可能的:
$time = "1330";
$new_time = implode(':', str_split($time, 2));
答案 1 :(得分:3)
懒惰的方式:
chunk_split('1330', 2, ':') . '00';
答案 2 :(得分:1)
应该可以做到:
$time = '1330';
$part_a = substr($time, 0, 2);
$part_b = substr($time, 2, 2);
$new_time = $part_a . ':' . $part_b;
答案 3 :(得分:1)
您可以使用以下方式执行此操作:
$time = substr($time, 0, 2) . ':' . substr($time, 2);
但是你为什么要分手。你可以直接在下午1:30获得你的输出:
echo date("h:i a",strtotime(1330));
第二个选项会更快地为您提供结果。为什么要浪费时间分裂。
希望这会有所帮助:)