У меня есть дата в этом формате 2068-06-15
. Я хочу получить год с даты, используя php-функции. Может кто-нибудь может предложить, как это можно сделать.
Получить год с указанной даты php
Ответ 1
$date = DateTime::createFromFormat("Y-m-d", "2068-06-15");
echo $date->format("Y");
Класс DateTime не использует временную метку unix внутри, поэтому он обрабатывает даты до 1970 года или после 2038 года.
Ответ 2
Вы можете использовать strtotime
и date
действует следующим образом:
echo date('Y', strtotime('2068-06-15'));
Обратите внимание, что PHP может обрабатывать год до 2038
Если ваша дата всегда в этом формате, вы также можете получить год следующим образом:
$parts = explode('-', '2068-06-15');
echo $parts[0];
Ответ 3
<?php
list ($ year) = explode ( "-", "2068-06-15" );
echo $year;
?>
Код>
Ответ 4
Я бы использовал это:
$parts = explode('-', '2068-06-15');
echo $parts[0];
Похоже, что дата исходит от источника, где он всегда один и тот же, гораздо быстрее, используя explode.
Ответ 5
public function getYear($pdate) {
$date = DateTime::createFromFormat("Y-m-d", $pdate);
return $date->format("Y");
}
public function getMonth($pdate) {
$date = DateTime::createFromFormat("Y-m-d", $pdate);
return $date->format("m");
}
public function getDay($pdate) {
$date = DateTime::createFromFormat("Y-m-d", $pdate);
return $date->format("d");
}
Ответ 6
Предполагая, что у вас есть дата в виде строки (извините, что было непонятно из вашего вопроса, если это так), можно разбить строку на-символы следующим образом:
$date = "2068-06-15";
$split_date = split("-", $date);
$year = $split_date[0];
Ответ 7
$Y_date = split("-","2068-06-15");
$year = $Y_date[0];
Вы также можете использовать explode
Ответ 8
Вы писали, что формат может меняться от YYYY-mm-dd до dd-mm-YYYY, вы можете попробовать найти год там
$parts = explode("-","2068-06-15");
for ($i = 0; $i < count($parts); $i++)
{
if(strlen($parts[$i]) == 4)
{
$year = $parts[$i];
break;
}
}