82 votes

Obtenir l'année, le mois et le jour d'une date en php ?

J'ai utilisé date('w', timestamp) y date('w', timestamp) pour connaître le jour, date('n', timestamp) pendant des mois, etc.

J'utilise maintenant des dates et j'aimerais savoir quelles sont les fonctions équivalentes pour obtenir un jour, un mois, etc. à partir d'une date.

PS : Je sais que je pourrais utiliser UNIX_TIMESTAMP() dans une requête SQL mais je préfère éviter d'utiliser des timestamps dans mon code.

132voto

KingCrunch Points 45168

Utilisez DateTime con DateTime::format()

$datetime = new DateTime($dateTimeString);
echo $datetime->format('w');

34voto

etuardu Points 1720

Vérifiez le manuel : http://www.php.net/manual/en/datetime.format.php

<?php
$date = new DateTime('2000-01-01');
echo $date->format('Y-m-d H:i:s');
?>

La sortie est prévue : 2000-01-01 00:00:00

-1voto

Khaled Shehata Points 33

Essayez le code ci-dessous si vous voulez utiliser la boucle php pour afficher.

<span>
  <select name="birth_month">
    <?php for( $m=1; $m<=12; ++$m ) { 
      $month_label = date('F', mktime(0, 0, 0, $m, 1));
    ?>
      <option value="<?php echo $month_label; ?>"><?php echo $month_label; ?></option>
    <?php } ?>
  </select> 
</span>
<span>
  <select name="birth_day">
    <?php 
      $start_date = 1;
      $end_date   = 31;
      for( $j=$start_date; $j<=$end_date; $j++ ) {
        echo '<option value='.$j.'>'.$j.'</option>';
      }
    ?>
  </select>
</span>
<span>
  <select name="birth_year">
    <?php 
      $year = date('Y');
      $min = $year - 60;
      $max = $year;
      for( $i=$max; $i>=$min; $i-- ) {
        echo '<option value='.$i.'>'.$i.'</option>';
      }
    ?>
  </select>
</span>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X