2010-06-05 6 views
0

Je crée une horloge numérique en utilisant les images & javascript mais je veux passer une heure de serveur que le temps ... Comment faire cela ... Je reçois le temps du serveur et le transmettre à DateTemps de passage du serveur au client

Après avoir reçu un extrait.

var time_str = document.clock_form.time_str.value ; //alert (time_str); 
function dotime(){ 
    theTime=setTimeout('dotime();',1000); 
    //d = new Date(Date.parse(time_str)); 
    d= new Date(time_str); 
    hr= d.getHours()+100; 
    mn= d.getMinutes()+100; 
    se= d.getSeconds()+100; var time_str = document.clock_form.time_str.value ; //alert (time_str); 
    alert(' TIME ---> '+hr+' :: '+mn+' :: '+ se); 

    if(hr==100){ 
     hr=112;am_pm='am'; 
    } 
    else if(hr<112){ 
     am_pm='am'; 
    } 
    else if(hr==112){ 
     am_pm='pm'; 
    } 
    else if(hr>112){ 
     am_pm='pm';hr=(hr-12); 
    } 
    tot=''+hr+mn+se; 
    document.hr1.src = '/flash_files/digits/dg'+tot.substring(1,2)+'.gif'; 
    document.hr2.src = '/flash_files/digits/dg'+tot.substring(2,3)+'.gif'; 
    document.mn1.src = '/flash_files/digits/dg'+tot.substring(4,5)+'.gif'; 
    document.mn2.src = '/flash_files/digits/dg'+tot.substring(5,6)+'.gif'; 
    document.se1.src = '/flash_files/digits/dg'+tot.substring(7,8)+'.gif'; 
    document.se2.src = '/flash_files/digits/dg'+tot.substring(8,9)+'.gif'; 
    document.ampm.src= '/flash_files/digits/dg'+am_pm+'.gif'; 
} 
dotime(); 

Mais il ne fonctionne pas

Aidez-moi

Merci à l'avance.

+2

"Mais cela ne fonctionne pas": Pouvez-vous expliquer ce qui ne fonctionne pas? Avez-vous une erreur? Quelle est l'erreur? Vos alertes de débogage s'affichent-elles? Que montrent-ils? –

+0

À quoi ressemble la valeur de 'document.clock_form.time_str.value'? –

+0

Définir "ne fonctionne pas". Des erreurs? Est-ce que 'time_str' est dans un format compatible avec JavaScript? –

Répondre

1

Qu'est-ce que vous transmettez du serveur? Est-ce un horodatage Unix ou une date formulée?

Si vous passez un horodatage Unix, puis en JavaScript que vous allez faire quelque chose comme:

var date = new Date(timestamp * 1000);

Vous devez multiplier par 1000, car l'horodatage Unix signifie que le nombre de secondes écoulé depuis le 1er janvier 1970 00:00:00 tandis que le constructeur JavaScript Date attend le nombre de millisecondes depuis le 1er janvier 1970 00:00:00.

Si vous passez une chaîne de date formated, vous pouvez l'analyser en JavaScript comme ceci:

var date = Date.parse(formated_date);

La date doit être dans le format décrit par la RFC 1123. En PHP qui pourrait être quelque chose comme ceci:

<?php 
$js_date = date(DATE_RFC1123);
+0

+1, j'allais le suggérer, mais j'attendais plus d'informations de l'OP. –

+0

Je suis un utilisateur Perl, et je reçois du temps dans ce format (RFC1123) par exemple. "Ven, 04 Jun 2010 17:46:14 +0530" Donc, la valeur 'time_str' sera comme montré dans l'exemple ... Lorsque vous alertez l'heure, il donne erreur – user356135

+0

Je suis perl utilisateur, & je reçois temps dans ce format (RFC1123) par exemple "Ven, 04 Jun 2010 17:46:14 +0530" Donc, la valeur 'time_str' sera comme montré dans l'exemple ... Lorsque vous alertez l'heure, il donne une erreur – user356135

Questions connexes