在字符串中间添加字符

Baa*_*dow 12 php string wordpress advanced-custom-fields

可能有一个简单的解决方案,这将导致facepalm.我有时间存储为4个字符长的字符串,即1300.

我正在尝试将该字符串显示为13:00.我觉得必须有一个解决方案,比我现在正在做的更优雅.

我目前有:

$startTime = get_field($dayStart, $post->ID);
$endTime = get_field($dayEnd, $post->ID);

        for ($x=0; $x = 4; $x++){

            if(x == 2){
                $ST .= ':';
                $ET .= ':';
            } else {
                $ST .= $startTime[x];
                $ET .= $endTime[x];
            }

        }

$startTime = $ST;
$endTime = $ET;
Run Code Online (Sandbox Code Playgroud)

该字符串的长度始终为4个字符.

Eth*_*han 20

$time = "1300";    
$time = substr($time,0,2).':'.substr($time,2,2);
Run Code Online (Sandbox Code Playgroud)

编辑:

以下是此问题的一般解决方案:

function insertAtPosition($string, $insert, $position) {
    return implode($insert, str_split($string, $position));
}
Run Code Online (Sandbox Code Playgroud)


Fra*_*key 13

我赞成这个解决方案,因为它只是一个功能

substr_replace('1300', ':', 2, 0);
Run Code Online (Sandbox Code Playgroud)

http://php.net/substr_replace


She*_*tJS 6

implode(":",str_split($time,2));
Run Code Online (Sandbox Code Playgroud)


小智 5

substr_replace( $yourVar, ':', -2, 0 );
Run Code Online (Sandbox Code Playgroud)

将在 9:45 中生成 945,在 12:45 中生成 1245。