从指定日期获取年份php

时间:2010-12-25 07:44:47

标签: php date

我的格式为2068-06-15。我希望从日期开始,使用php函数。有人可以建议如何做到这一点。

10 个答案:

答案 0 :(得分:78)

$date = DateTime::createFromFormat("Y-m-d", "2068-06-15");
echo $date->format("Y");

DateTime类在内部不使用unix时间戳,因此它可以处理1970年之前或2038之后的日期。

答案 1 :(得分:50)

您可以使用strtotimedate这样的功能:

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

但请注意,PHP可以处理高达2038年的年度

You can test it out here


如果您的日期始终采用该格式,您也可以获得这样的年份:

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

答案 2 :(得分:2)

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

答案 3 :(得分:2)

我会用这个:

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

看起来日期来自一个始终相同的来源,使用爆炸这种方式更快。<​​/ p>

答案 4 :(得分:2)

  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");
}

答案 5 :(得分:2)

您可以尝试使用 strtotime() date()函数以最少的代码并使用标准方式进行输出。

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

答案 6 :(得分:1)

您可以使用php date()和explode()函数实现您的目标:

$date = date("2068-06-15");

$date_arr = explode("-", $date);

$yr = $date_arr[0];

echo $yr;

就是这样。编码愉快:)

答案 7 :(得分:0)

假设您将日期作为字符串(很遗憾,从您的问题中不清楚是否是这种情况)可以将字符串拆分为 - 字符,如下所示:

$date = "2068-06-15";
$split_date = split("-", $date);
$year = $split_date[0];

答案 8 :(得分:0)

$Y_date = split("-","2068-06-15");
$year = $Y_date[0];

你也可以使用爆炸

答案 9 :(得分:0)

您写的格式可以从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;
      }
  }