Avertissement: la fonction strtotime() s'attend à ce paramètre 1 pour être de chaîne
$startdate = new DateTime("2013-11-15");
$enddate = new DateTime("2013-11-20");
$timestamp_start = strtotime($startdate);
$timestamp_end = strtotime($enddate);
$difference = abs($timestamp_end - $timestamp_start);
$days = floor($difference/(60*60*24));
echo " ";
echo 'Days '.$days;
$months = floor($difference/(60*60*24*30));
echo 'Months '.$months;
$years = floor($difference/(60*60*24*365));
echo 'Years '.$years ;
echo " ";
avant de vous répondre, permettez-moi de clariofy que mon hébergeur ne supporte pas la version de php supérieure à 5.2, afin de ne pas suggérer de comparaison et de fonctions d'intervalle.
je suis arriver Avertissement: la fonction strtotime() s'attend à ce paramètre 1 pour être de chaîne, s'il vous plaît aider.
$startdate
/$enddate
sontDateTime
's - pas de chaînes. Vous littéralement juste déclaré queDateTime
? Ce sujet il me semble bizarre?- il ne marche pas analyser en interne?
- Nope - pourquoi auriez-vous besoin de
DateTime
classe lorsque vous ne l'utilisez pas? - fournisseur d'hébergement ne supporte pas php supérieur à 5.2 -- Alors vous êtes avec un mauvais fournisseur d'hébergement, et vous devez passer à un meilleur accueil dès que possible. PHP 5.2 est en fin de vie à la fin de 2010; il n'a pas eu de mises à jour de sécurité depuis près de quatre ans. Tout fournisseur d'hébergement, toujours sur leurs serveurs après tout ce temps, c'est d'être négligent, et est probablement l'échelle ouverte de piratage. Je vous suggère de trouver un meilleur accueil.
- son célèbre fournisseur d'hébergement, vous devez avoir entendu parler de host gator.
- Qui fait juste empirer les choses. Leur avez-vous demandé pourquoi votre version de PHP est tellement mal de date? Si vous êtes payer pour leur service, je pense que vous devriez au moins obtenir une mise à jour et le serveur sécurisé. Communiquer avec leur bureau de soutien et demander.
- je les ai contactés, ils ont dit que nous ne pouvons pas mettre à niveau le serveur, nous avons beaucoup de clients, qui peuvent affecter d'autres données de clients, et j'ai trouvé cette réponse très wiered!
Vous devez vous connecter pour publier un commentaire.
$startdate
et$enddate
sont DateTime des objets, pas des chaînes de caractères.strtotime()
nécessite une chaîne de caractères, et il vous suffit de passer une chaîne de caractères au lieu de cela, comme ceci:Je le recommande ugprading à une plus grande version de PHP, si possible.
DateTime
classe est la meilleure voie à suivre lorsque vous faites affaire avec les heures et les dates en PHP.Pas besoin de
new DateTime
pourstrtotime()
J'ai une fonction qui fait ce que je pense que vous voulez.
Vous avez juste besoin de passer à des dates et qu'il va dire yu la différence entre les 2