web-dev-qa-db-fra.com

PHP format de date, supprimer l'heure et plus

Duplicata possible:
Convertir un format de date en un autre en PHP

A partir de:

$date = '2012-09-09 03:09:00'

Je voudrais faire deux choses.

  1. Supprimez l'heure de la chaîne pour qu'elle devienne "2012-09-09".
  2. Calculez le nombre d'années, de jours et d'heures écoulées depuis cette date à l'aide de la date/heure/fuseau horaire actuel du serveur.

Quelqu'un pourrait-il m'aider à comprendre cela?

19
itsme

Utilisez DateTime :

$date = '2012-09-09 03:09:00';

$createDate = new DateTime($date);

$strip = $createDate->format('Y-m-d');
var_dump($strip); // string(10) "2012-09-09"

$now = new DateTime();
$difference = $now->diff($createDate, true);
var_dump($difference);

/* object(DateInterval)#3 (8) {
  ["y"]=>
  int(0)
  ["m"]=>
  int(0)
  ["d"]=>
  int(7)
  ["h"]=>
  int(13)
  ["i"]=>
  int(4)
  ["s"]=>
  int(38)
  ["invert"]=>
  int(0)
  ["days"]=>
  int(7)
} */
41
Mihai Iorga
$date = '2012-09-09 03:09:00';
$dt = new DateTime($date);

echo $dt->format('Y-m-d');

$interval = $dt->diff(new DateTime());

Vous pouvez utiliser l'intervalle comme il vous convient. Voir http://php.net/manual/en/class.dateinterval.php

18
JvdBerg