2011-08-13 58 views

回答

5

試試這個方法:

end(explode('.', $date)); 

OR

date('Y', strtotime($date)); 
3
$sDate = "09.06.2010"; 
$aDate = explode(".", $sDate); 
$iYear = $aDate[2]; 
var_dump($iYear); 
+1

thx非常適合快速回復 –

+0

+1 [匈牙利語](http://en.wikipedia.org/wiki/Hungarian_notation)。 – Shi

1

還有其他方法,如解析日期。但你問:

$date_output = explode('.', $date_input); 
$date_output = $date_output[2]; 
+1

thx很快回復 –

1

你的意思是像這樣的字符串的最後4位數?

substr("09.06.2010",-4); 

雖然就像Pekka在他的評論中說的那樣,做實際的日期處理將使你的代碼更健壯,更容易在將來改變。

+1

我該怎麼做?請解釋 –

+0

Galen的第二個解決方案(使用'strtotime()'和'date()')是一個好的開始。突然之間,您現在可以支持一系列不同的日期格式,例如「09.06.2010」,「2010-06-09」或「2010年6月6日」。 – Mchl

1

如果你總是想要最後的位置,你可以試着用strrpos(),它會找到給定字符的最後一次出現。所以,你可以這樣做:

$string = '11.22.3456'; 

$pos = strrpos($string, '.'); 
$year = ($pos !== false) ? substr($string, $pos + 1) : 'N/a'; 

var_dump($year); 

爆炸()始終是一個選擇,只是想給另一個。

0
$timestamp = time(); 
list($dd, $mm, $yy) = explode('.', strftime('%d.%m.%Y', $timestamp)); 
echo $mm; 

參見:strftime

參見:list

0
function dateExp($date, $sign=null, $argIndex = '0'){ 
     $exp = null; 
     if(!empty($date) && !empty($sign)){ 
      $exp = explode($sign, $date); 
     } else { 
      $exp = explode('/', $date); 
     } 
     if($argIndex!=='0'){ 
      $exp = $exp[$argIndex]; 
     } 
     return $exp; 
    } 
$setDate = '2015-10-20'; 
$date1 = dateExp($setDate,'-'); 
print '<pre>'; 
print_r($date1); 
print_r($date1[0]); 
Output: 
Array 
(
    [0] => 2015 
    [1] => 10 
    [2] => 20 
) 
2015