Как взорвать дату вроде 09.06.2010 и получить «2010» с помощью php? - PullRequest
0 голосов
/ 13 августа 2011

Как взорвать дату на кусочки и получить из нее последнюю часть. Допустим, у нас есть 09.06.2010, и мы хотим получить от него «2010». Как это сделать с помощью php?

Ответы [ 7 ]

5 голосов
/ 14 августа 2011

Попробуйте этот метод:

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

ИЛИ

date( 'Y', strtotime( $date ) );
3 голосов
/ 13 августа 2011
$sDate = "09.06.2010";
$aDate = explode(".", $sDate);
$iYear = $aDate[2];
var_dump($iYear);
1 голос
/ 14 августа 2011

если вам всегда нужна последняя позиция, вы можете попробовать с помощью strrpos (), она найдет последнее вхождение данного символа. Так что вы можете сделать:

$string = '11.22.3456';

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

var_dump($year);

explode () всегда является опцией, просто хотел дать другую.

1 голос
/ 13 августа 2011

Вы имеете в виду, как 4 последние цифры такой строки?

substr("09.06.2010",-4);

Хотя, как говорит Пекка в своем комментарии, обработка фактической даты сделает ваш код более надежным и в будущем его будет легче менять.

1 голос
/ 13 августа 2011

Существуют и другие методы, такие как анализ даты.Но вы спросили:

$date_output = explode('.', $date_input);
$date_output = $date_output[2];
0 голосов
/ 28 июля 2016
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
0 голосов
/ 09 июня 2015
$timestamp = time();
list($dd, $mm, $yy) = explode('.', strftime('%d.%m.%Y', $timestamp));
echo $mm;

См .: strftime

См .: список

...