2012-02-28 115 views
3

我有一個字符串,例如修改字符串,PHP

20120201 

我需要將其更改爲

2012/02/01 

很明顯,我需要添加「/」後第4次,在第6個字符串。

有人可以幫我做這個在PHP?

謝謝。

+0

你試過子串嗎?也可以嘗試http://php.net/manual/en/function.strtotime.php如果它始終是日期 – 2012-02-28 13:47:48

+0

我一直在尋找一種合適的方法來做到這一點,並沒有發現任何(可能是因爲我的缺乏經驗)。我看了一下子字符串,我無法弄清楚如何在我需要的這個特定示例中使用它。 – user1233852 2012-02-28 13:50:35

+0

你的問題的直接答案是你在下面看到的substr答案,但如果它總是你談論的日期,那麼更好的答案是其他人提到的strtotime函數。當你稍後看到你的代碼或其他人必須在你後面編碼時,你正在做什麼以及爲什麼要更清楚。 (相信我,從現在開始2年,你會很高興你做到了。) – TecBrat 2012-02-28 15:02:02

回答

7

事情是這樣的:

$final = substr($initial,0,4).'/'.substr($initial,4,2).'/'.substr($initial,6,2) 

使用substr

+2

由於信息的緣故,如果沒有給出長度,substr將會結束 – 2012-02-28 13:50:26

+0

Thakns的信息,不知道。你的意思是「 – Narek 2012-02-28 13:52:13

3

您可以使用substr,像

$result = substr($str,0,4)."/".substr($str,4,2)."/".substr($str, 6) 

編輯:Java和PHP之間搞亂了使用concat:P

+0

」。而不是「+」..這是PHP不是java(腳本)。 FTFY。 – Kaii 2012-02-28 13:52:13

+0

應該是那些'+'是'.' – 472084 2012-02-28 13:52:31

1

如果你想插入時,可以使用http://php.net/substr_replace

$string = "20120201"; 
$newString = substr_replace(substr_replace($string, "/", 6, 0), "/", 4, 0); 

或連接子串獲得http://php.net/substr

$newString = substr($string, 0, 4) . "/" . substr($string, 4, 2) . "/" . substr($string, 6) 
1

您可以使用date_parse_from_format解析您在那裏的日期到一個PHP日期對象,然後您可以以任何您想要的格式輸出它。可用的日期格式列表位於here