PHP字符串修改问题

PHP字符串修改问题,php,Php,我有一个奇怪的问题。我每天的时间大约是8001200 我想要像8:00,12:00这样的输出字符串。。 我知道其他选择,但有人能给我建议完成它的最短方法吗?请选择一种方法: echo preg_replace('^(\d{1,2})(\d{2})$', '$1:$2', $time); 一种方法是: echo preg_replace('^(\d{1,2})(\d{2})$', '$1:$2', $time); 另一种方式 echo substr($time, 0, 3 === strlen

我有一个奇怪的问题。我每天的时间大约是8001200

我想要像8:00,12:00这样的输出字符串。。 我知道其他选择,但有人能给我建议完成它的最短方法吗?请选择一种方法:

echo preg_replace('^(\d{1,2})(\d{2})$', '$1:$2', $time);
一种方法是:

echo preg_replace('^(\d{1,2})(\d{2})$', '$1:$2', $time);
另一种方式

echo substr($time, 0, 3 === strlen($time) ? 1 : 2) . ':' . substr($time, -2);
或者您可以将长度标准化

$time = str_pad($time, 4, 0, STR_PAD_LEFT);

echo substr($time, 0, 2) . ':' . substr($time, 2, 2);
另一种方式

echo substr($time, 0, 3 === strlen($time) ? 1 : 2) . ':' . substr($time, -2);
或者您可以将长度标准化

$time = str_pad($time, 4, 0, STR_PAD_LEFT);

echo substr($time, 0, 2) . ':' . substr($time, 2, 2);

如果您的源是“800”或“1200”之类的字符串,则deceze的解决方案可以:

preg_replace('^(\d{1,2})(\d{2})$', '$1:$2', $time);
但如果是日期格式问题,那么这是正确的方法

date("H:i");

如果您的源是“800”或“1200”之类的字符串,则deceze的解决方案可以:

preg_replace('^(\d{1,2})(\d{2})$', '$1:$2', $time);
但如果是日期格式问题,那么这是正确的方法

date("H:i");