$str = "20031201121212";
$str1 = substr($str,0,4);
$str2 = substr($str,4,2);
$str3 = substr($str,6,2);
$str4 = substr($str,8,2);
$str5 = substr($str,10,2);
$str6 = substr($str,12,2);
echo $str1."-".$str2."-".$str3." ".$str4.":".$str5.":".$str6;

解决方案 »

  1.   

    $s = '20031201121212';
    $t = strtotime(preg_replach("/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/","\\1-\\2-\\3 \\4:\\5:\\6",$s));
      

  2.   

    唠叨大哥:
    你的程序我有几点疑问:
    1。preg_replach 应该为preg_replace ,呵呵,,估计你写错了。
    2。preg_replach("/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/","\\1-\\2-\\3 \\4:\\5:\\6",$s)返回一个str 的2003-12-01 12:12:12。但前面加上strtotime函数就变成了UNIX 时间戳,结果为1070251932 ,如何把这个date()型变成2003-12-01 12:12:12格式。