如何从日期获得年份和月份 - PHP

时间:2012-01-23 06:33:38

标签: php date

如何从指定日期获得年份和月份。

e.g。 $dateValue = '2012-01-05';

从这一天开始,我需要以 2012 为年,将月份作为 1月

10 个答案:

答案 0 :(得分:59)

使用strtotime()

$time=strtotime($dateValue);
$month=date("F",$time);
$year=date("Y",$time);

答案 1 :(得分:9)

使用文档中的date()strtotime()

$date = "2012-01-05";

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

$month = date('F', strtotime($date));

echo $month

答案 2 :(得分:6)

可能不是最有效的代码,但在这里:

$dateElements = explode('-', $dateValue);
$year = $dateElements[0];

echo $year;    //2012

switch ($dateElements[1]) {

   case '01'    :  $mo = "January";
                   break;

   case '02'    :  $mo = "February";
                   break;

   case '03'    :  $mo = "March";
                   break;

     .
     .
     .

   case '12'    :  $mo = "December";
                   break;


}

echo $mo;      //January

答案 3 :(得分: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");
    }

答案 4 :(得分:5)

我将分享我的代码:

在您给出的示例日期中:

$dateValue = '2012-01-05';

它会是这样的:

dateName($dateValue);



   function dateName($date) {

        $result = "";

        $convert_date = strtotime($date);
        $month = date('F',$convert_date);
        $year = date('Y',$convert_date);
        $name_day = date('l',$convert_date);
        $day = date('j',$convert_date);


        $result = $month . " " . $day . ", " . $year . " - " . $name_day;

        return $result;
    }

并将返回一个值: 2012年1月5日 - 星期四

答案 5 :(得分:4)

您可以使用此代码:

$dateValue = strtotime('2012-06-05');
$year = date('Y',$dateValue);
$monthName = date('F',$dateValue);
$monthNo = date('m',$dateValue);
printf("m=[%s], m=[%d], y=[%s]\n", $monthName, $monthNo, $year);

答案 6 :(得分:2)

$dateValue = '2012-01-05';
$yeararray = explode("-", $dateValue);

echo "Year : ". $yeararray[0];
echo "Month : ". date( 'F', mktime(0, 0, 0, $yeararray[1]));

使用explode()可以做到这一点。

答案 7 :(得分:2)

$dateValue = '2012-01-05';
$year = date('Y',strtotime($dateValue));
$month = date('F',strtotime($dateValue));

答案 8 :(得分:0)

我个人更喜欢使用此快捷方式。输出仍然相同,但您不需要将月份和年份存储在单独的变量中

$dateValue = '2012-01-05';
$formattedValue = date("F Y", strtotime($dateValue));
echo $formattedValue; //Output should be January 2012

关于使用此技巧的一点注意事项,您可以使用逗号分隔月份和年份:

$formattedValue = date("F, Y", strtotime($dateValue));
echo $formattedValue //Output should be January, 2012

答案 9 :(得分:-2)

<a href="#" id="link1"></a>
<a href="#" id="link2"></a>