我有這個字符串PHP數,加冒號,每2個字符
1010081-COP-8-27-20110616214459
我需要計算最後6個字符從該字符串的結尾開始(因爲它可能會很長從開始起)
然後我需要在每2個字符後添加冒號。
所以從結尾開始計算6個字符之後會
214459
已經加冒號它看起來像後:
21:44:59
你能幫我實現嗎?
我真的不知道從哪裏開始!
謝謝
我有這個字符串PHP數,加冒號,每2個字符
1010081-COP-8-27-20110616214459
我需要計算最後6個字符從該字符串的結尾開始(因爲它可能會很長從開始起)
然後我需要在每2個字符後添加冒號。
所以從結尾開始計算6個字符之後會
214459
已經加冒號它看起來像後:
21:44:59
你能幫我實現嗎?
我真的不知道從哪裏開始!
謝謝
的代碼在多線清晰做這樣做,但可以很容易地在一個鏈條上做一個行:
$str = '1010081-COP-8-27-20110616214459';
//Get last 6 chars
$end = substr($str, -6);
//Split string into an array. Each element is 2 chars
$chunks = str_split($end, 2);
//Convert array to string. Each element separated by the given separator.
$result = implode(':', $chunks);
echo preg_replace('/^.*(\d{2})(\d{2})(\d{2})$/', '$1:$2:$3', $string);
它看起來雖然像字符串有一個特定的格式,你應該解析成數據。喜歡的東西:
sscanf($string, '%u-%3s-%u-%u-%u', $id, $type, $num, $foo, $timestamp);
$timestamp = strtotime($timestamp);
echo date('Y-m-d H:i:s', $timestamp);
如果你只是想時間:
$time = rtrim(chunk_split(substr($s,-6),2,':'),':');
$final = "1010081-COP-8-27-20110616214459";
$c = substr($final, -2);
$b = substr($final, -4, 2);
$a = substr($final, -6, 2);
echo "$a:$b:$c";
或者類似的東西''/^(.+)(\d{2})(\d{2} )(\ d {2})$ /','$ 2:$ 3:$ 4''如果他只想要時間。 – Matthew 2011-06-17 01:58:23