Obtenir l'heure "absolue" [JS]
Mysterious_fea
Messages postés
401
Date d'inscription
Statut
Membre
Dernière intervention
-
Dalida Messages postés 6728 Date d'inscription Statut Contributeur Dernière intervention -
Dalida Messages postés 6728 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je souhaiterai savoir s'il est possible d'obtenir par Javascript l'heure absolue en France (GMT + 2), et pas l'heure de l'horloge Windows du visiteur.
Merci
Je souhaiterai savoir s'il est possible d'obtenir par Javascript l'heure absolue en France (GMT + 2), et pas l'heure de l'horloge Windows du visiteur.
Merci
A voir également:
- Obtenir l'heure "absolue" [JS]
- Obtenir windows 10 gratuitement - Accueil - Mise à jour
- Changement d'heure - Guide
- 2go internet = combien d'heure - Forum Opérateurs & Réseaux mobiles
- Comment obtenir du jaune ✓ - Forum Loisirs / Divertissements
- Valeur relative et absolue - Forum Programmation
7 réponses
salut,
dans ce cas, il faut demander l'info à un serveur donc passer par XMLHTTPRequest (Ajax).
et répondre avec un script PHP.
dans ce cas, il faut demander l'info à un serveur donc passer par XMLHTTPRequest (Ajax).
et répondre avec un script PHP.
regarde là, y en a pour tous les niveaux.
après je ne sais pas si il vaut mieux interroger directement un serveur qui donne l'heure (comme ceux qui permettent de synchroniser les PC, ça doit bien exister mais je n'en connais pas) ou si tu interroges direct le serveur qui héberge ton site avec PHP.
je suppose que la seconde méthode est beaucoup plus facile.
après je ne sais pas si il vaut mieux interroger directement un serveur qui donne l'heure (comme ceux qui permettent de synchroniser les PC, ça doit bien exister mais je n'en connais pas) ou si tu interroges direct le serveur qui héberge ton site avec PHP.
je suppose que la seconde méthode est beaucoup plus facile.
salut,
car cela parle surtout du XML
et alors ?! XHTML est du XML…
et de toute façon, 'httpRequest.responseText' contient la réponse du serveur au format texte, tu peux en faire ce que tu veux.
admettons que tu nommes ton script 'request.php'
il faut lui ajouter l'envoi du 'Content Type' en premier :
en JS tu dois avoir un code du style :
il te reste juste à appeler la fonction JS depuis ton document HTML et d'y mettre un containeur :
car cela parle surtout du XML
et alors ?! XHTML est du XML…
et de toute façon, 'httpRequest.responseText' contient la réponse du serveur au format texte, tu peux en faire ce que tu veux.
admettons que tu nommes ton script 'request.php'
il faut lui ajouter l'envoi du 'Content Type' en premier :
header('Content-Type: text/html; charset=ISO-8859-1');
en JS tu dois avoir un code du style :
function getXHR()
{
var xhr=null;
if( window.XMLHttpRequest )
{
xhr = new XMLHttpRequest();
}
else if( window.ActiveXObject )
{
try
{
xhr = new ActiveXObject( "Msxml2.XMLHTTP" );
}
catch( e )
{
try
{
xhr = new ActiveXObject( "Microsoft.XMLHTTP" );
}
catch( e1 )
{
xhr = null;
}
}
}
else
{
alert( "Votre navigateur ne supporte pas les objets XMLHTTPRequest." );
}
return xhr;
}
function updateTime( httpRequest )
{
if ( httpRequest.readyState == 4 )
{
if ( httpRequest.status == 200 )
{
document.getElementById( "container" ).innerHTML = httpRequest.responseText;
}
else
{
document.getElementById( "container" ).innerHTML = 'Un problème est survenu avec la requête.';
}
}
}
function displayTime()
{
xhr = getXHR();
if( xhr )
{
xhr.open( 'GET', 'http://www.tonsite/request.php', true );
xhr.onreadystatechange = function() { updateTime( xhr ); };
xhr.send( '' )
}
}
il te reste juste à appeler la fonction JS depuis ton document HTML et d'y mettre un containeur :
<body onload="displayTime();"> <p id="container"></p> </body>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bon il intègre bien le php mais il merde avec le header, il me dit
heure.php
heure.js
index.php
Merci
Cannot modify header information - headers already sent by. Donc quand j'enlève le header ça me l'inclue mais ça se met pas à jour en temps réel, il faut rafraîchir. Voilà mes codes :
heure.php
<?php header('Content-Type: text/html; charset=ISO-8859-1'); $heure = date("H"); $min = date("i"); echo $heure.'h'.$min; ?>
heure.js
function getXHR() { var xhr=null; if( window.XMLHttpRequest ) { xhr = new XMLHttpRequest(); } else if( window.ActiveXObject ) { try { xhr = new ActiveXObject( "Msxml2.XMLHTTP" ); } catch( e ) { try { xhr = new ActiveXObject( "Microsoft.XMLHTTP" ); } catch( e1 ) { xhr = null; } } } else { alert( "Votre navigateur ne supporte pas les objets XMLHTTPRequest." ); } return xhr; } function updateTime( httpRequest ) { if ( httpRequest.readyState == 4 ) { if ( httpRequest.status == 200 ) { document.getElementById( "heure" ).innerHTML = httpRequest.responseText; } else { document.getElementById( "heure" ).innerHTML = 'Un problème est survenu avec la requête.'; } } } function displayTime() { xhr = getXHR(); if( xhr ) { xhr.open( 'GET', 'http://www.eficoach.com/essai/heure.php', true ); xhr.onreadystatechange = function() { updateTime( xhr ); }; xhr.send( '' ) } }
index.php
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <title>Exemple 1</title> <script type="text/javascript" src="heure.js"></script> </head> <body onload="displayTime();"> <p id="heure"></p> </body> </html>
Merci
salut,
ça se met pas à jour en temps réel, il faut rafraîchir
du coup ça perd tout son intérêt !!!
mais tu veux simplement afficher l'heure une fois ou l'actualiser en temps réel ?
comme tu parlais de JS au départ je pensais que tu voulais faire une horloge sur ta page avec l'heure serveur.
si tu veux juste horodater la page, pas besoin d'Ajax.
sinon, le 'header' doit être envoyé avant quoi que ce soit d'autre, il ne doit même pas y avoir un espace avant l'ouverture de la balise PHP.
ça se met pas à jour en temps réel, il faut rafraîchir
du coup ça perd tout son intérêt !!!
mais tu veux simplement afficher l'heure une fois ou l'actualiser en temps réel ?
comme tu parlais de JS au départ je pensais que tu voulais faire une horloge sur ta page avec l'heure serveur.
si tu veux juste horodater la page, pas besoin d'Ajax.
sinon, le 'header' doit être envoyé avant quoi que ce soit d'autre, il ne doit même pas y avoir un espace avant l'ouverture de la balise PHP.
ah !!!
bon on est bien d'accord !!!
mais je n'avais pas mis de temps de rafraichissement auto mais seulement le premier appel !
je pensais que ça tu l'avais déjà !
suffit de l'ajouter à la fonction JS, pour qu'elle se rappelle elle-même.
tu lances une première fois dans le 'onload' et après elle débrouille.
je regarde pour le code et te tiens au jus !
bon on est bien d'accord !!!
mais je n'avais pas mis de temps de rafraichissement auto mais seulement le premier appel !
je pensais que ça tu l'avais déjà !
suffit de l'ajouter à la fonction JS, pour qu'elle se rappelle elle-même.
tu lances une première fois dans le 'onload' et après elle débrouille.
je regarde pour le code et te tiens au jus !
mais j'ai peur que les envois se chevauchent en cas de latence avec la réponse.
function displayTime() { xhr = getXHR(); if( xhr ) { xhr.open( 'GET', 'http://www.eficoach.com/essai/heure.php', true ); xhr.onreadystatechange = function() { updateTime( xhr ); }; xhr.send( '' ) setTimeout(displayTime(),1000); } }