J'ai créé des horodatages JavaScript et un horodatage PHP. Il y a environ 170 sections de différence entre eux. P>
TIME () CODE> LI>
- 1302162517 JavaScript -
Math.Round (nouvelle date (). GetTime () / 1000) CODE> LI>
ul>
Quelqu'un peut-il me dire pourquoi je reçois ce problème? P>
6 Réponses :
php est exécuté sur le côté serveur, et dans votre exemple, JavaScript fonctionne sur le côté client. P>
Les deux côtés ont leur propre configuration de temps. Pour le serveur, les paramètres de fuseau horaire, etc. resteront les mêmes (sauf que vous ne les changez), mais le serveur n'a aucune idée du fuseau horaire du visiteur actuel. Il n'y a aucun moyen pour vous de contrôler cela. P>
Si je change de mon horloge système sur mon ordinateur portable, il influencera la date / l'heure de JavaScript côté client, mais votre minuterie de serveur ne sera pas affectée. P>
Désolé mon mauvais, j'étais totalement hors de mon esprit. Merci de votre aide.
php examine le temps système, qui est le serveur l'exécutant. P>
JavaScript examine le système du client, qui pourrait être à tout moment. P>
PHP utilise le temps sur votre serveur, JavaScript utilisera l'heure de la machine client (utilisateurs). P>
Mathias est correct. Généralement, cela ne devrait pas se produire avec cette grosse différence car les ordinateurs modernes reconnaissent leurs horloges dériver au fil du temps et utilisent des protocoles tels que NTP pour garder leurs horloges en synchronisation. p>
Néanmoins, vous ne devriez jamais supposer que le temps sur le client et le serveur est identique, pour deux raisons: p>
Lors de la comparaison / de calcul des temps, je vous fierais uniquement sur le serveur. Vous n'avez aucun contrôle sur le client. P>
Très bonne réponse. Ce dernier paragraphe ne peut pas être assez stressé.
php et javascript, les deux regardent le temps système. Dont le système? Celui qu'ils fonctionnent. Le serveur pourrait être situé dans un autre pays avec une heure différente, d'où la différence.
Aussi, l'horloge du client (ou moins souvent du serveur) pourrait être incorrecte. P>
Un moyen, ce que j'utilise souvent pour compter ce problème est comme ceci: p>
Si vous êtes préoccupé par la cohérence de quelque but, je vous recommande d'utiliser le serveur comme source de temps et faites des conversions de fuseau horaire si nécessaire: P>
Ceci peut être d'intérêt: Manipulation Conversion de fuseau horaire avec PHP p>
Le serveur et le client ont-ils la même heure définis?