2010-09-04 8 views
0

ok bien j'ai cette erreur avec un compteur i fait sorcière est suppost compter jusqu'à 0PhP: horodatage unix comptage problème Backwords

$time=1283593330+(60*15); 
$time3= time(); 
$time2=$time-$time3; 

1283593330=Sat, 04 Sep 2010 09:42:10 GMT 

erreur est la suivante: lorsque l'horodatage TIME3 de $ a frappé l'horodatage de $ heure indique 05:00:00 instande de 00:00:00. C'est le code que j'utilise pour l'appeler.

Time left: '.date('g:i:s ',$time2).'<br /> 

je ne suis pas sûr si im faire quelque chose de mal, si 5 est le moment principal unix_timestamp ou la Commend date en PHP

est là de toute façon de résoudre ce problème? ou est-ce de l'horodatage juste ce mauvais d'une idée pour ce dont j'ai besoin.

+0

'$ temps = 1283594342 + (60 * 15);'? Qu'est-ce que ça veut dire? Pourriez-vous préciser ce que vous voulez faire et où vous avez un problème, s'il vous plaît? –

+0

Pourriez-vous s'il vous plaît expliquer quelle erreur vous obtenez, vous ne faites pas tout un tas de sens. –

+0

je suis désolé mon anglais et le grammaire est mauvais donnez-moi 15 et mal essayer de le reformater à droite – Catles

Répondre

2

Votre fuseau horaire est de 5 heures d'avance sur UTC: vous dites 1283593330 est 09:42, mais il est effectivement 04:42 UTC. Lorsque $time2 est égal à zéro, cela correspond à l'époque de l'heure Unix: il est minuit UTC le 1er janvier 1970. Ainsi, lorsque vous utilisez date, l'heure de votre fuseau horaire est 00:00 UTC, soit 05: 00 dans votre fuseau horaire.

L'important est que $time2 soit zéro lorsque l'heure cible est atteinte.

Étant donné que votre compteur compte à rebours 15 minutes, vous pouvez obtenir le temps restant comme ceci:

$hours = floor($time2/60); 
$mins = $time2 % 60; 
printf("Time left: %d:%02d\n", $hours, $mins); 
+0

juste changé mon temps de serveur et l'ai tellement travaillé – Catles

+0

Voulez-vous dire que vous avez changé le fuseau horaire sur votre serveur? Ce n'est pas nécessaire. L'affichage de '$ time2' comme date/heure en utilisant' date' n'a pas vraiment de sens; c'est une différence de temps, pas un temps absolu. Il est facile de faire fonctionner cela sans avoir besoin de paramètres de fuseau horaire spécifiques sur le serveur. –

Questions connexes