web-dev-qa-db-fra.com

Obtenir l'année à partir de la date spécifiée php

J'ai une date dans ce format 2068-06-15. Je veux obtenir l'année à partir de la date, en utilisant les fonctions php. Quelqu'un pourrait-il s'il vous plaît suggérer comment cela pourrait être fait.

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

La classe DateTime n'utilise pas d'horodatage Unix en interne, elle gère donc les dates antérieures à 1970 ou après 2038.

80
Maerlyn

Vous pouvez utiliser les fonctions strtotime et date comme ceci:

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

Notez cependant que PHP peut gérer des années jusqu'à 2038

Vous pouvez le tester ici


Si votre date est toujours dans ce format, vous pouvez aussi obtenir l'année comme ceci:

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

Je voudrais utiliser ceci:

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

Il semble que la date provient d'une source où elle est toujours la même, beaucoup plus rapidement de cette façon en utilisant exploser.

4
carnini
  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");
}
3
Hiba
<?php _ 
 liste ($ année) = exploser ("-", "2068-06-15"); 
 echo $ année; 
?> 
</ code>
2
fvox

Vous avez écrit que le format peut changer de AAAA-mm-jj à jj-mm-AAAA, vous pouvez essayer de trouver l’année

$parts = explode("-","2068-06-15");
for ($i = 0; $i < count($parts); $i++)
{
     if(strlen($parts[$i]) == 4)
     {
          $year = $parts[$i];
          break;
      }
  }
0
bidon
$Y_date = split("-","2068-06-15");
$year = $Y_date[0];

Vous pouvez aussi utiliser exploser

0
Vineesh Kalarickal

En supposant que vous ayez la date sous forme de chaîne (désolé, votre question ne permet pas de savoir si tel est le cas), vous pourriez diviser la chaîne sur les - caractères comme ceci:

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