Comment obtenir année et mois à partir d'une date-PHP

comment obtenir l'année et le mois à partir d'une date donnée.

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

A partir de cette date je dois obtenir l'année comme 2012 et le mois comme janvier.

28
demandé sur halfer 2012-01-23 10:33:37

10 réponses

Utiliser strtotime():

$time=strtotime($dateValue);
$month=date("F",$time);
$year=date("Y",$time);
55
répondu Tim Withers 2012-04-15 13:05:17

en utilisant date() et strtotime() à partir de la documentation.

$date = "2012-01-05";

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

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

echo $month
8
répondu Mob 2012-01-23 06:50:22

probablement pas le code le plus efficace, mais voici:

$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
5
répondu ariestav 2012-01-23 06:43:38

Vous pouvez utiliser ce code:

$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);
4
répondu anubhava 2012-01-23 06:39:46

j'utilise cette fonction pour obtenir Année, Mois, Jour à partir de la date

vous devez les mettre dans une classe

    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
répondu Hiba 2014-01-21 13:51:57

je partagerai mon code:

dans votre exemple de date:

$dateValue = '2012-01-05';

Il va comme ceci:

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

et retourne une valeur: 5 Janvier 2012-Thursday

4
répondu Mr.Unknown 2016-03-03 00:05:48
$dateValue = '2012-01-05';
$year = date('Y',strtotime($dateValue));
$month = date('F',strtotime($dateValue));
2
répondu Uday Sawant 2012-01-23 06:41:15
$dateValue = '2012-01-05';
$yeararray = explode("-", $dateValue);

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

Usiong explode() ce qui peut être fait.

2
répondu Sameera Thilakasiri 2012-01-23 07:02:08

personnellement, je préfère utiliser ce raccourci. La sortie sera toujours le même, mais vous n'avez pas besoin de stocker le mois et l'année dans des variables séparées

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

une petite remarque sur l'utilisation de ce truc, vous pouvez utiliser des virgule pour séparer le mois et l'année comme ça:

$formattedValue = date("F, Y", strtotime($dateValue));
echo $formattedValue //Output should be January, 2012
0
répondu dmkumar 2013-07-31 14:01:47
$dateValue = strtotime($q);

$yr = date("Y", $dateValue) ." "; 
$mon = date("m", $dateValue)." "; 
$date = date("d", $dateValue); 
-2
répondu Pradeep Bhaskar 2015-11-06 13:58:53