web-dev-qa-db-fra.com

L'ajout d'un numéro à ce jour ne fonctionne pas

J'ajoute le numéro stocké dans les métadonnées utilisateur personnalisées à la date du jour. Voici mon code

$addeddays = get_user_meta($this->order->user_id, 'xxx', true);
$timeBase = date('j.n.Y');
echo date('j.n.Y', strtotime($timeBase, "+ $addeddays days"));

Mais la sortie est 1.1.1970

Quel est le problème dans le code ou comment le faire avec une autre méthode? J'ai lu la question à ce sujet mais dans les réponses était aussi ma méthode alors je ne sais pas pourquoi cela ne fonctionne pas.

1
mato0

votre code ne fonctionne pas, parce que vous utilisez strtotime de façon incorrecte ... Il devrait être utilisé comme ceci:

int strtotime ( string $time [, int $now ] )

Mais vous transmettez formaté, daté en tant que premier paramètre, et une autre chaîne en tant que deuxième.

Alors, à quoi ça devrait ressembler? Ainsi:

$addeddays = intval( get_user_meta($this->order->user_id, 'xxx', true) );
$timeBase = date('Y-m-d');
echo date('j.n.Y', strtotime( "+ {$addeddays} days", strtotime( $timeBase ) ));

Ou une version plus simple (puisque `$ timeBase est aujourd'hui:

$addeddays = intval( get_user_meta($this->order->user_id, 'xxx', true) );
echo date( 'j.n.Y', strtotime( "+ {$addeddays} days" ) );
0
Krzysiek Dróżdż