2012-01-31 120 views
1

我從包含軍用時間爲1330數據庫中提取值(不要問爲什麼)輸入字符的字符串,第2個字符後

我想在1330轉換至13:30,然後的strtotime運行把13:30:00到下午1:30

我有作家塊,我怎麼可以把一個冒號:2和3之間的人物,在1330

回答

1

可以使用做到這一點:

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

但是你爲什麼要分裂。你可以直接得到你的輸出下午1:30有:

echo date("h:i a",strtotime(1330)); 

第二個選項會給你造成更多更快。爲什麼浪費時間分裂。

希望這會有所幫助:)

5

一個顯而易見的方法是使用substr

$time = "1330"; 
$new_time = substr($time, 0, 2) . ':' . substr($time, 2); 

另一種解決方案是preg_replace

$time = "1330"; 
$new_time = preg_replace('/(\d{2})(\d{2})/', '\1:\2', $time); 

此外,str_split是可能的:

$time = "1330"; 
$new_time = implode(':', str_split($time, 2)); 
3

偷懶的方法:

chunk_split('1330', 2, ':') . '00'; 
+0

不錯!我第一次看到'chunk_split'。在這種情況下非常有用+1 – knittl 2012-01-31 15:23:09

1

應該能夠只是做:

$time = '1330'; 
$part_a = substr($time, 0, 2); 
$part_b = substr($time, 2, 2); 

$new_time = $part_a . ':' . $part_b; 
相關問題