如何只获取日期字符串的年份部分?

时间:2011-06-22 00:15:25

标签: php date

我的用户输入日期如下:1979-06-13

现在,我想比较一年:

foreach ($list as $key) {
    $year = 1979;
    if ($key > $year) { //only the year
        echo (error);
        }
}

我怎样才能获得这一年?

由于

4 个答案:

答案 0 :(得分:21)

可能更昂贵,但可能更灵活,使用strtotime()转换为时间戳和日期()以提取所需日期的一部分。

$year = date('Y', strtotime($in_date));

答案 1 :(得分:9)

使用strtok

$year = strtok($date, '-');

如果您希望年份为整数,您还可以使用intval

$year = intval($date);

答案 2 :(得分:1)

你可以爆炸日期。

$inputDate = "1979-06-13";
$myDate = 1979;
$datePieces = explode("-",$inputDate);
if (intval($datePieces[0]) > $myDate){
  echo "error";
};

http://php.net/manual/en/function.explode.php

答案 3 :(得分:1)

这是一种简单而准确的方法。

//suppose
$dateProvided="1979-06-13";
//get first 4 characters only
$yearOnly=substr($dateProvided,0,4);
echo $yearOnly;
//1979

还有一件事要知道,在某些情况下,例如,当日期类似于2010-00-00时,日期功能不按预期工作,它将返回2009而不是2010。 这是一个例子

//suppose
$dateProvided="2010-00-00";
$yearOnly = date('Y', strtotime($dateProvided));
//we expect year to be 2010 but the value of year would be 2009
echo $yearOnly;
//2009