Получить год с указанной даты php - PullRequest
55 голосов
/ 25 декабря 2010

У меня есть дата в этом формате 2068-06-15.Я хочу получить год от даты, используя функции PHP.Может кто-нибудь подсказать, пожалуйста, как это можно сделать.

Ответы [ 8 ]

78 голосов
/ 25 декабря 2010
$date = DateTime::createFromFormat("Y-m-d", "2068-06-15");
echo $date->format("Y");

Класс DateTime не использует внутреннюю метку времени Unix, поэтому он может обрабатывать даты до 1970 года или после 2038 года.

50 голосов
/ 25 декабря 2010

Вы можете использовать функции strtotime и date следующим образом:

echo date('Y', strtotime('2068-06-15'));

Обратите внимание, что PHP может обрабатывать год до 2038

Вы можете проверить это здесь


Если ваша дата всегда в этом формате, вы также можете получить год следующим образом:

$parts = explode('-', '2068-06-15');
echo $parts[0];
2 голосов
/ 21 января 2014
  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");
}
2 голосов
/ 11 июля 2013

Я бы использовал это:

$parts = explode('-', '2068-06-15');
echo $parts[0];

Похоже, что дата исходит из источника, где она всегда одинакова, гораздо быстрее с помощью взрыва.

2 голосов
/ 25 декабря 2010

<pre><code><?php list ($ year) = explode ("-", "2068-06-15"); echo $ year; ?>

0 голосов
/ 11 июля 2013

Вы написали, что формат может измениться с ГГГГ-мм-дд на дд-мм-ГГГГ, вы можете попытаться найти год там

$parts = explode("-","2068-06-15");
for ($i = 0; $i < count($parts); $i++)
{
     if(strlen($parts[$i]) == 4)
     {
          $year = $parts[$i];
          break;
      }
  }
0 голосов
/ 12 ноября 2012
$Y_date = split("-","2068-06-15");
$year = $Y_date[0];

Вы можете использовать также взорваться

0 голосов
/ 25 декабря 2010

Предполагая, что у вас есть дата в виде строки (извините, это неясно из вашего вопроса, если это так) может разбить строку на символы - примерно так:

$date = "2068-06-15";
$split_date = split("-", $date);
$year = $split_date[0];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...