这可能是一个简单的解决方案,将导致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;
字符串的长度始终为4个字符。
答案 0 :(得分:18)
$time = "1300";
$time = substr($time,0,2).':'.substr($time,2,2);
<强> 编辑: 强>
以下是此问题的一般解决方案:
function insertAtPosition($string, $insert, $position) {
return implode($insert, str_split($string, $position));
}
答案 1 :(得分:13)
答案 2 :(得分:6)
implode(":",str_split($time,2));
答案 3 :(得分:2)
substr_replace( $yourVar, ':', -2, 0 );
将在9:45和1245在12:45中产生945结果。