在第二个字符后输入字符串中的字符

时间:2012-01-31 15:15:21

标签: php string

我从包含军事时间的数据库中提取值为1330(不要问为什么)

我想将1330转换为13:30,然后将strtotime转为13:30:00至下午1:30

我让作家阻止我如何放置冒号:在3到3个字符之间,在1330

4 个答案:

答案 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));

第二个选项会更快地为您提供结果。为什么要浪费时间分裂。

希望这会有所帮助:)