2010-08-19 56 views
-3

我想要使用PHP分割字符串以獲取單個日期信息。從日期分割字符串

例如:

$date = '08/05/2010'; 

將創建varables

$month = '08'; 

$day = '05'; 

$year = '2010'; 

謝謝。

+5

但是,當然這樣一個微不足道的問題將得到十幾個答案。 – 2010-08-19 18:17:34

+0

對不起,我新有一種方法將其轉換爲數組,但無法找到該函數。謝謝你Frederico爆炸() – floatleft 2010-08-19 18:20:58

+5

@Chad Whitaker:請接受你的問題的正確答案! – Stephen 2010-08-19 18:21:49

回答

16

使用explode

$date = '08/05/2010'; 
list($month, $day, $year) = explode('/', $date); 
4

如果這是你的例子,你可以explode它成一個數組。

$ array = explode('/',$ date);

2

list($month, $day, $year) = explode('/', $date);

2

假設它總是以這種格式,你想explode

<?php 

    $date = '08/05/2010'; 

    $arr = explode("/", $date); 

    list($month, $day, $year) = $arr; 

    // $month = 08, $day = 05, $year = 2010. 

?> 
2

上面貼的回答會做的伎倆。在運行功能之前,您可能還想檢查日期是否符合您的預期格式。 checkdate function對此很有用,或者this snippet是一個獨立的實現。

0

我同意關於使用checkdate函數的意見,但是,這是真正的因爲你通過每個部分(月,日,年)檢查後分開日期分開。

如果您收到來自用戶輸入原來的日期,你可能想確保你得到正確的格式和你分開之前出來(使用列表或爆炸如前所示)。

我看到兩個選項如果是來自用戶的有效性:首先是隻允許他們選擇日期,而不是自由輸入。第二個是確保你得到你期望的mm/dd/yyyy格式。您可以在分離前對其執行regular expression match。正則表達式可能類似於/ \ d {2}/\ d {2}/\ d {4}/

無論如何,如果您確信自己的來源不是真的需要,但思考總是很重要您的數據來自何處以及它的清潔程度。