Получить только год из строки

218
26 октября 2017, 10:27

Есть строка типа 25.02.2017

Каким образом получить только год, то есть только число 2017 ?

Числа (дата) всегда разная.

Answer 1

Как вариант, вы можете переводить эту дату в timestamp, а затем уже из этого генерировать что угодно с помощью функции date()

В вашем случае это будет примерно так:

$timestamp = strtotime('25.02.2017');
$year = date('Y', $timestamp);

А уже вместо '25.02.2017' передавайте любую переменную.

Преимуществом будет то, что дату вы можете указывать в различных форматах, хоть '25 февраля 2017'. А с помощью date() вы сможете получить год, месяц, день, неделю, високосный ли год и так далее.

Answer 2

Можно использовать explode, чтобы разбить строку с помощью разделителя.

Функция выглядит так:

array explode (string $delimiter, string $string [, int $limit = PHP_INT_MAX])

В данном случае разделитель (delimiter) является точкой. Далее из получившегося массива взять последний элемент

Answer 3

Выше предложили explode() и даты. Можно и регуляркой:

preg_match('#\d{2}.\d{2}.(\d{4})#isu','25.02.2017', $matches);
echo $matches[1]
//2017

Документация на функцию http://php.net/manual/ru/function.preg-match.php

READ ALSO
Получение последнего дня месяца по его номеру

Получение последнего дня месяца по его номеру

Как по номеру месяца получить его последний день? Написал такой код:

175
Joomla 3.6 Не отображается главная страница

Joomla 3.6 Не отображается главная страница

Я только начал осваивать Joomla!

219
Как увеличить на 1 все записи через updateAll в Yii2?

Как увеличить на 1 все записи через updateAll в Yii2?

Нужно увеличить на 1 все записи через updateAllНужно что-то вроде

244