Avatar billede thomas_b Nybegynder
24. august 2006 - 01:10 Der er 76 kommentarer og
1 løsning

new Date() virker ikke

Hvorfor virker dette ikke efter hensigten...

<script type="text/JavaScript">
function gettTime(tim) {
  var newtime = new Date(tim);

  h1 = newtime.getHours();
  m1 = newtime.getMinutes();
  s1 = newtime.getSeconds();

  if(h1<10) h = "0" + h1;
  if(m1<10) m = "0" + m1;
  if(s1<10) s = "0" + s1;

document.write(h + ":" + m + ":" + s)
}
</script>
<b><script>gettTime(30515000);</script></b>
Avatar billede roenving Novice
24. august 2006 - 01:16 #1
-- hvor har du de ca 30.000 sekunder fra ?-)

-- det er ca. 9½ time efter Unix-age startede i 1970, og hvis det skulle være 30 mio. sekunder når vi hen i december 1970 ...
Avatar billede thomas_b Nybegynder
24. august 2006 - 01:33 #2
de ca. 30.000 sek. er diff. mellem en fiktiv dato og klokkeslet til now()

Så jeg skal faktisk bare have den udskrevet således..: 09:30:00
Avatar billede mclemens Nybegynder
24. august 2006 - 01:54 #3
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<script type="text/JavaScript">
function gettTime(tim) {
  var newtime = new Date(tim);

  h1 = newtime.getHours();
  m1 = newtime.getMinutes();
  s1 = newtime.getSeconds();

  if(h1<10) h1 = "0" + h1;
  if(m1<10) m1 = "0" + m1;
  if(s1<10) s1 = "0" + s1;

return h1 + ":" + m1 + ":" + s1;
}
</script>

</head><body>
<b><script>document.write(gettTime(30515000));</script></b>
</body></html>
Avatar billede mclemens Nybegynder
24. august 2006 - 01:59 #4
[ Hvorfor virker dette ikke efter hensigten... ]

  if(h1<10) h = "0" + h1;
  if(m1<10) m = "0" + m1;
  if(s1<10) s = "0" + s1;
/* ^ - h, m og s bliver ikke nødvendigvis sat så de eksisterer ... derfor rettet dem til h1, m1 og s1 */

... nåh fik det vist kastet op i head med en return istedet ... men det kan jo også gøres som du gjorde før :o)



<script type="text/JavaScript">
function gettTime(tim) {
  var newtime = new Date(tim);

  h1 = newtime.getHours();
  m1 = newtime.getMinutes();
  s1 = newtime.getSeconds();

  if(h1<10) h1 = "0" + h1;
  if(m1<10) m1 = "0" + m1;
  if(s1<10) s1 = "0" + s1;

document.write(h1 + ":" + m1 + ":" + s1);
}
</script>

<b><script>gettTime(30515000);</script></b>



... så er der kun rettet på dette

  if(h1<10) h1 = "0" + h1;
  if(m1<10) m1 = "0" + m1;
  if(s1<10) s1 = "0" + s1;
Avatar billede mclemens Nybegynder
24. august 2006 - 02:00 #5
... og document.write(h1 + ":" + m1 + ":" + s1);
Avatar billede thomas_b Nybegynder
24. august 2006 - 02:09 #6
nu har jeg godt nok i stendet for: 30515000 et indput fra: <%=rs_kald("na")%>

Output bliver rigtig nok bortset fra når jeg bruger: <%=rs_kald("na")%> bliver der tilføjet 1 time, dvs. når jeg for 0 som input skriver den aligevel: 01:00:00
Avatar billede mclemens Nybegynder
24. august 2006 - 02:20 #7
hmm, den returnere i forhold til gmt ... kigger lige
(prøv at skifte til gmt på dit win ur ... så står den fint ??? )
kan denne her: <%=rs_kald("na")%> ... evt. outputte så det er gmt tid ... i vores tilfælde skal der så trækkes en time fra outputtet - ser lige lidt på js time ... ?
Avatar billede thomas_b Nybegynder
24. august 2006 - 02:24 #8
kan man ikke bare minus 1 med h1 permenent ?
Avatar billede mclemens Nybegynder
24. august 2006 - 02:24 #9
var newtime = new Date(tim);

rettet til ->

  var newtime =new Date(tim);
  newtime=new Date(newtime.getTime()+newtime.getTimezoneOffset()*60*1000);
Avatar billede mclemens Nybegynder
24. august 2006 - 02:27 #10
Update, [ kan man ikke bare minus 1 med h1 permenent ? ] Så tager den ikke hensyn til forskellige tidszoner ... ovenstående virker lidt omstændelig - med der skal trækkes tiden fra - da tidspunktet baserer sig på hvad uret står på pc'en står til ... ved ikke om den virker godt nok - men jeg er desværre nødt til at smutte (arbejde kl 8:30) ... men er tilbage på pinden iløbet af imorgen :o)
Avatar billede roenving Novice
24. august 2006 - 02:27 #11
Hvis det er en tidsdifference skal du slet ikke have gang i et Date-objekt, men bare forkorte:

function gettTime(tim){
  var h = Math.floor(tim/3600);
  var m = Math.floor((tim%3600)/60);
  var s = tim%60;
  document.write(h+":"+m+":"+s;
}

-- ikke medtaget 0-tingen !-)
Avatar billede thomas_b Nybegynder
24. august 2006 - 02:28 #12
Så virker det...:

Jeg har også dette script... som skal nogenlunde det samme den skal bare få tiden til at gå, altså diff. tiden skal stige...

<script type="text/JavaScript">
var stime = new Date(<%=l1time%>);
var ltime = new Date().getTime();
var afvigelse = ltime - stime;

function startTime() {
  var now = new Date();
  var newtime = new Date(now.getTime()+afvigelse);

  h = newtime.getHours();
  m = newtime.getMinutes();
  s = newtime.getSeconds();

  if(h<10) h = "0" + h;
  if(m<10) m = "0" + m;
  if(s<10) s = "0" + s;

  document.getElementById("txt_wa").firstChild.nodeValue = h + ":" + m + ":" + s

  setTimeout("startTime()",1000)
}

window.onload = startTime;
</script>
Avatar billede mclemens Nybegynder
24. august 2006 - 02:30 #13
inden jeg smuttede prøvede jeg lige noget...

  var now = new Date();
  var newtime = new Date(now.getTime()+afvigelse);

->

  var newtime =new Date(tim+(new Date(0).getTimezoneOffset()*60*1000));

... den burde også virke :o)
Avatar billede roenving Novice
24. august 2006 - 02:31 #14
Fjern det Date-objekt fuldstændigt, det er bare i vejen !-)
Avatar billede mclemens Nybegynder
24. august 2006 - 02:31 #15
update, fornuftig ide fra Rønving :o)
Avatar billede thomas_b Nybegynder
24. august 2006 - 02:34 #16
Nu er jeg ikke helt med... :o/
Avatar billede mclemens Nybegynder
24. august 2006 - 02:35 #17
Rønving foreslår:



<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<script type="text/JavaScript">

function gettTime(tim){

  tim=Math.round(tim/1000); // Skal måske væk ...

  var h1 = Math.floor(tim/3600);
  var m1 = Math.floor((tim%3600)/60);
  var s1 = tim%60;

  if(h1<10) h1 = "0" + h1;
  if(m1<10) m1 = "0" + m1;
  if(s1<10) s1 = "0" + s1;

document.write(h1 + ":" + m1 + ":" + s1);
}
</script>

</head><body>
<b><script>gettTime(10000);</script></b>
</body></html>
Avatar billede mclemens Nybegynder
24. august 2006 - 02:35 #18
(ca. - har lige kastet ms. reduktion på også ... hvis du stadig får tiden med 1000 ms)
Avatar billede roenving Novice
24. august 2006 - 02:37 #19
-- og hvis du vil have en let udgave af et gående ur, kan du f.eks. bruge mine Date-udvidelser: http://roenving.users.whitehat.dk/date/roenvingDate.html, se f.eks. http://www.eksperten.dk/spm/722312 !-)
Avatar billede thomas_b Nybegynder
24. august 2006 - 02:38 #20
den kommer i millisek. men der står undefined bag alle tallene...
Avatar billede thomas_b Nybegynder
24. august 2006 - 02:41 #21
Jeg tænkte mere på hvis man kunne næmt lave 24/08-2006 02:35:12 om til at hvert sek. opdatere den med settimeout og tilføjer 1000 millisek. til de angivende mullisek. ?
Avatar billede mclemens Nybegynder
24. august 2006 - 02:44 #22
Eksempel:



<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<script type="text/JavaScript">
var stime = 1156380221718 ;
var ltime = new Date().getTime();
var afvigelse = Math.round((ltime - stime)/1000);
alert(ltime);


function startTime(){

  var h = Math.floor(afvigelse/3600);
  var m = Math.floor((afvigelse%3600)/60);
  var s = afvigelse%60;

  if(h<10) h = "0" + h;
  if(m<10) m = "0" + m;
  if(s<10) s = "0" + s;


document.getElementById("txt_wa").firstChild.nodeValue = h + ":" + m + ":" + s;

afvigelse+=1;

setTimeout("startTime()",1000)

}

window.onload=startTime;

</script>

</head><body>
<b id="txt_wa">00:00:00</b>
</body></html>
Avatar billede mclemens Nybegynder
24. august 2006 - 02:44 #23
var stime = 1156380221718 ; -> var stime = new Date(<%=l1time%>);
Avatar billede mclemens Nybegynder
24. august 2006 - 02:45 #24
ups... var stime = <%=l1time%>;
... altså bare asp's time værdi
(ved ikke hvad den hedder)
Avatar billede mclemens Nybegynder
24. august 2006 - 02:47 #25
Nat, nat ses imorgen ... øhm, senere idag :D
Avatar billede thomas_b Nybegynder
24. august 2006 - 02:52 #26
Der er lige nogle løser ender... senere idag... hvis roenving også er gået i seng...

Der står 321206 timer på den gående tid...
Og der står "undefined" efter den stående tid...
Avatar billede thomas_b Nybegynder
24. august 2006 - 02:52 #27
nat nat mclemens
Avatar billede roenving Novice
24. august 2006 - 02:53 #28
Præcis hvad bruger du nu ?-)

-- kunne du f.eks. smide et link ...
Avatar billede thomas_b Nybegynder
24. august 2006 - 02:56 #29
Jeg bruger: 24/08-2006 02:35:12 og 24/08-2006 02:44:29
Avatar billede roenving Novice
24. august 2006 - 03:00 #30
Hos mig står der f.eks.

00:16:22 00:00:10 ...
Avatar billede thomas_b Nybegynder
24. august 2006 - 03:07 #31
Så der står ikke undefined bag dine tal ?
Avatar billede thomas_b Nybegynder
24. august 2006 - 03:11 #32
Nu har jeg ordnet det ord... det var bare... document.write() der skulle væk...

Men jeg har 2 af disse ure på siden... det første ur vriker ikke mere... det er forsvundet... Jeg har prøvet at ændre navnet på funktionen til dette: startTime12()
Men det virker ikke...!
Avatar billede mclemens Nybegynder
24. august 2006 - 11:44 #33
Har du kildekoden til det andet ur???

... her er lige et eksempel på to ure:


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<script type="text/JavaScript">
var stime = [1156380221718,1156402521718];

var ltime = new Date().getTime();

var afvigelse = [Math.round((ltime - stime[0])/1000),Math.round((ltime - stime[1])/1000)];

var elms=["txt_wa","txt_wa2"];


function startTime(){

  for(i=0;i<2;i++){

    var h = Math.floor(afvigelse[i]/3600);
    var m = Math.floor((afvigelse[i]%3600)/60);
    var s = afvigelse[i]%60;

    if(h<10) h = "0" + h;
    if(m<10) m = "0" + m;
    if(s<10) s = "0" + s;

    document.getElementById(elms[i]).firstChild.nodeValue = h + ":" + m + ":" + s;

    afvigelse[i]+=1;

  }

  setTimeout("startTime()",1000)

}

window.onload=startTime;

</script>

</head><body>
<b id="txt_wa">00:00:00</b>

<br><br><br>

<b id="txt_wa2">00:00:00</b>
</body></html>
Avatar billede thomas_b Nybegynder
24. august 2006 - 17:18 #34
Det andet ur ser således ud, og skal bare forblive intakt... for den er i et helt andet sted i koden, de skal bare kunne køre samtidig...:

<script language="jscript" runat="server">
var myTime = new Date().valueOf();
</script>
<script type="text/JavaScript">
var stime = new Date(<%=myTime%>);
var ltime = new Date().getTime();
var afvigelse = stime - ltime;

function startTime() {
  var now = new Date();
  var newtime = new Date(now.getTime()+afvigelse);

  h = newtime.getHours();
  m = newtime.getMinutes();
  s = newtime.getSeconds();

  if(h<10) h = "0" + h;
  if(m<10) m = "0" + m;
  if(s<10) s = "0" + s;

  document.getElementById("txt").firstChild.nodeValue = h + ":" + m + ":" + s

  setTimeout("startTime()",1000)
}

window.onload = startTime;
</script>
Avatar billede mclemens Nybegynder
24. august 2006 - 18:07 #35
Eksempel: (rettet variabler og samlet window.onload ((flere window.onload tildelinger konflikter))








<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<script type="text/JavaScript">
var stime = 1156380221718 ;
var ltime = new Date().getTime();
var afvigelse = Math.round((ltime - stime)/1000);


function startTime(){

  var h = Math.floor(afvigelse/3600);
  var m = Math.floor((afvigelse%3600)/60);
  var s = afvigelse%60;

  if(h<10) h = "0" + h;
  if(m<10) m = "0" + m;
  if(s<10) s = "0" + s;


document.getElementById("txt_wa").firstChild.nodeValue = h + ":" + m + ":" + s;

afvigelse+=1;

setTimeout("startTime()",1000)

}






</script>







<script language="jscript" runat="server">
//var myTime = new Date().valueOf();
</script>
<script type="text/JavaScript">
//var stime2 = new Date(<%=myTime%>);

var stime2 = new Date().getTime()-100000;
var ltime2 = new Date().getTime();
var afvigelse2 = stime2 - ltime2;

function startTime2() {
  var now = new Date();
  var newtime = new Date(now.getTime()+afvigelse2);

  h = newtime.getHours();
  m = newtime.getMinutes();
  s = newtime.getSeconds();

  if(h<10) h = "0" + h;
  if(m<10) m = "0" + m;
  if(s<10) s = "0" + s;

  document.getElementById("txt").firstChild.nodeValue = h + ":" + m + ":" + s

  setTimeout("startTime2()",1000)
}






window.onload = function(){startTime();startTime2();};





</script>





</script>

</head><body>
<b id="txt_wa">00:00:00</b>





<b id="txt">00:00:00</b>
</body></html>








... ret evt. lige i scriptet:

<script language="jscript" runat="server">
//var myTime = new Date().valueOf();
</script>
<script type="text/JavaScript">
//var stime2 = new Date(<%=myTime%>);

var stime2 = new Date().getTime()-100000;



til:



<script language="jscript" runat="server">
var myTime = new Date().valueOf();
</script>
<script type="text/JavaScript">
var stime2 = new Date(<%=myTime%>);
Avatar billede thomas_b Nybegynder
24. august 2006 - 18:21 #36
Nu kommer den med: 321231 timer... siden: 24. august 2006 kl. 17:27:24
Avatar billede mclemens Nybegynder
24. august 2006 - 18:22 #37
Scriptet kan selvfølgelig også skrives som (ikke testet):

... første script

<script language="jscript" runat="server">
//var myTime = new Date().valueOf();
</script>
<script type="text/JavaScript">
//var stime2 = new Date(<%=myTime%>);

var stime2 = 1156400221718;
var ltime2 = new Date().getTime();
var afvigelse2 = Math.round((ltime2 - stime2)/1000);

function startTime2(){

  var h = Math.floor(afvigelse/3600);
  var m = Math.floor((afvigelse%3600)/60);
  var s = afvigelse%60;

  if(h<10) h = "0" + h;
  if(m<10) m = "0" + m;
  if(s<10) s = "0" + s;


document.getElementById("txt").firstChild.nodeValue = h + ":" + m + ":" + s;

afvigelse2+=1;

setTimeout("startTime2()",1000)

}



window.onload = function(){startTime();startTime2();};


</script>




Rønving, det er vist dine
point... Kast lige et svar ...
( 24/08-2006 02:27:36 )
Avatar billede mclemens Nybegynder
24. august 2006 - 18:23 #38
Update, [ 24/08-2006 18:21:55 ] kigger på den ...
Avatar billede thomas_b Nybegynder
24. august 2006 - 18:24 #39
Det var det andet ur der viste : 321231 timer
Avatar billede thomas_b Nybegynder
24. august 2006 - 18:30 #40
Uret: 24/08-2006 18:22:40 går ca. 3min. og 23sek. for stækt i forhold til servertiden...
Den har virket, hvorfor gør den ikke det mere ?
Avatar billede mclemens Nybegynder
24. august 2006 - 18:41 #41
[ Den har virket, hvorfor gør den ikke det mere ? ]
... muligvis fordi at din maskine ikke har præcis samme tidsindstilling
som serveren - eller fordi at din server taber tid ? Prøv at udskrive tiden i timer og minutter på en side du laver på serveren og sammenligne det med din pc's ur ...
Avatar billede mclemens Nybegynder
24. august 2006 - 18:46 #42
( det er ikke en fejl i 18:22:40 som sådan ... hvis du prøver var stime2 = new Date().getTime(); så burde den starte ved 0 og ikke 3min og 23 sekunder ... m.h.t. det ur på din maskine vs. serveren kan der også gå en lille smule tid fra den når fra serveren til din maskine ... så selvom serverens ur og dit ur er sat ens kan der godt være 1 sekund i forskel)


... men, jeg faldt lige over en fejl jeg
lavede da jeg rettede nr to funktion:


function startTime2(){

  var h = Math.floor(afvigelse/3600);
  var m = Math.floor((afvigelse%3600)/60);
  var s = afvigelse%60;

rettes til:


function startTime2(){

  var h = Math.floor(afvigelse2/3600);
  var m = Math.floor((afvigelse2%3600)/60);
  var s = afvigelse2%60;
Avatar billede mclemens Nybegynder
24. august 2006 - 18:47 #43
... og det er måske (sandsynligvis) grunden til fejlen :/
Avatar billede thomas_b Nybegynder
24. august 2006 - 18:48 #44
Jeg har prøvet at sætte mit computer-ur tilbage med 10 min. og uret gå 10 min. xtra bagud... Men funktionen og meningen (som den gjorde før) med scripet er at den tager computertiden og forskellen mellem den og servertiden... og tilføjer til computertiden for at få den aktuelle servertid der går...
Avatar billede thomas_b Nybegynder
24. august 2006 - 18:59 #45
Nu ser mine script's sådan ud...! Og de går helt galt...

1. script:
viser: "0-28:0-47:0-40" - og går ikke...!

2. sciipt:
Viser fx.: 321232:33:56 - Men det går...


Skal lige noget så kommer tilbage lidt senere...
Håber du finder ud af noget...!

<script language="jscript" runat="server">
//var myTime = new Date().valueOf();
</script>
<script type="text/JavaScript">
//var stime2 = new Date(<%=myTime%>);

var stime2 = new Date().getTime()-100000;
var ltime2 = new Date().getTime();
var afvigelse2 = stime2 - ltime2;

function startTime2() {
  var now = new Date();
  var newtime = new Date(now.getTime()+afvigelse2);

  var h = Math.floor(afvigelse2/3600);
  var m = Math.floor((afvigelse2%3600)/60);
  var s = afvigelse2%60;

  if(h<10) h = "0" + h;
  if(m<10) m = "0" + m;
  if(s<10) s = "0" + s;

  document.getElementById("txt").firstChild.nodeValue = h + ":" + m + ":" + s

  setTimeout("startTime2()",1000)
}
window.onload = function(){startTime();startTime2();};

</script>

<script type="text/JavaScript">
var stime = <%=rs_kald("na")%> ;
var ltime = new Date().getTime();
var afvigelse = Math.round((ltime - stime)/1000);


function startTime(){

  var h = Math.floor(afvigelse/3600);
  var m = Math.floor((afvigelse%3600)/60);
  var s = afvigelse%60;

  if(h<10) h = "0" + h;
  if(m<10) m = "0" + m;
  if(s<10) s = "0" + s;


document.getElementById("txt_wa").firstChild.nodeValue = h + ":" + m + ":" + s;

afvigelse+=1;

setTimeout("startTime()",1000)

}

</script>
Avatar billede mclemens Nybegynder
24. august 2006 - 19:04 #46
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>


<script language="jscript" runat="server">
//var myTime = new Date().valueOf();
</script>
<script type="text/JavaScript">
//var stime2 = new Date(<%=myTime%>);

var stime2 = new Date().getTime(); /* ved ikke med det -100000 ... tror mere det er et problem når det er tiden fra serveren af */
var ltime2 = new Date().getTime();
var afvigelse2 = stime2 - ltime2;

function startTime2() {
  var now = new Date();
  var newtime = new Date(now.getTime()+afvigelse2);

  var h = Math.floor(afvigelse2/3600);
  var m = Math.floor((afvigelse2%3600)/60);
  var s = afvigelse2%60;

  if(h<10) h = "0" + h;
  if(m<10) m = "0" + m;
  if(s<10) s = "0" + s;

  document.getElementById("txt").firstChild.nodeValue = h + ":" + m + ":" + s

  setTimeout("startTime2()",1000);






  afvigelse2+=1; // Du havde slettet denne









}
window.onload = function(){startTime();startTime2();};

</script>

<script type="text/JavaScript">
var stime = new Date().getTime() ;
var ltime = new Date().getTime();
var afvigelse = Math.round((ltime - stime)/1000);


function startTime(){

  var h = Math.floor(afvigelse/3600);
  var m = Math.floor((afvigelse%3600)/60);
  var s = afvigelse%60;

  if(h<10) h = "0" + h;
  if(m<10) m = "0" + m;
  if(s<10) s = "0" + s;


document.getElementById("txt_wa").firstChild.nodeValue = h + ":" + m + ":" + s;

afvigelse+=1;

setTimeout("startTime()",1000)

}

</script>





</script>

</head><body>
<b id="txt_wa">00:00:00</b>



<b id="txt">00:00:00</b>
</body></html>
Avatar billede mclemens Nybegynder
24. august 2006 - 19:07 #47
Efter test så i sidste script del:
var stime = new Date().getTime() ;
rettes til:
var stime = <%=rs_kald("na")%> ;

vedrørende dit problem med script nr 2 ved jeg ikke hvad <%=rs_kald("na")%> returnerer ... det er asp - og jeg har ikke sat mig ind i det ... muligvis returnerer det ikke med ms. ? ... det ser nærmest sådan ud ? hvis det er tilfældet kan du sikkert gøre sådan her: var stime = <%=rs_kald("na")%>*1000; ...
Avatar billede thomas_b Nybegynder
24. august 2006 - 22:36 #48
der sker nøjaktig det samme som: 24/08-2006 18:59:32
Avatar billede mclemens Nybegynder
24. august 2006 - 22:45 #49
D.v.s. at hvis du bruger 19:04:06 med den ekstra rettelse der lægger i 24/08-2006 19:07:49 så får du problemet ??? Hmm... når jeg prøver testen i 19:04:06 så virker den hos mig ... gør den det hos dig?

... det eneste der så skiftes er aktivering af 19:07:49 og så får du samme resultat som før? hvad output giver <%=rs_kald("na")%> (eksempelvis) og hvad giver den hvis du ganger den op med 1000 som nævnt ovenover - det hjalp ikke ... det kan så vidt jeg regner ud ikke give både det samme hvis du tager det nye eksempel og ganger op med 1000 eller lader være - og heller ikke når jeg har fjernet de -100000 fra stime2 ???
Avatar billede thomas_b Nybegynder
24. august 2006 - 23:02 #50
<%=rs_kald("na")%> kommer med et output på f.eks.: 16448000
Avatar billede thomas_b Nybegynder
24. august 2006 - 23:14 #51
Avatar billede mclemens Nybegynder
24. august 2006 - 23:28 #52
En hurtig var stime = new Date().getTime() ; alert(stime); returnerer:
1156454625822 ... og så er 16448000 altså en del derfra ... for at være præcis: 1156438177822 milisekunder ... jeg tror derfor at du skal bruge noget andet i asp for at outputte tiden i unix ms ... altså noget der svarer til php's <?php echo time(); ?>
Avatar billede mclemens Nybegynder
24. august 2006 - 23:29 #53
^ - ordene jeg tror i ovenstående sætning skulle ikke stå der ... du skal bruge noget andet end den tidsdefinering - ellers skal scriptet rettes om ... hvad står 16448000 for ?
Avatar billede thomas_b Nybegynder
24. august 2006 - 23:32 #54
Den stiger... Den kommer fra hvor langt tid der er gået fra: 24. august 2006 kl. 18:27:35
Avatar billede mclemens Nybegynder
24. august 2006 - 23:38 #55
d.v.s.

var stime = new Date().getTime()-<%=rs_kald("na")%>;

... måske (ingen asp)
Avatar billede mclemens Nybegynder
24. august 2006 - 23:41 #56
... scriptet du havde regnede med unix ms ... og når man unix ms til den værdi det asp noget står for er vi meget lidt længere tilbage i tiden end de 5 timer ... derfor tager vi et unix timestamp i js og trækker de antal sekunder du har fra tiden ... alternativet er: var stime = new Date().getTime(-<%=etellerandetdergiverunixtime-rs_kald("na")%>);
Avatar billede mclemens Nybegynder
24. august 2006 - 23:42 #57
ups ... var stime = new Date().getTime(<%=etellerandetdergiverunixtime-rs_kald("na")%>);
... men jeg har kun rodet med php ... Har asp slet ikke en unix time ?
Avatar billede mclemens Nybegynder
24. august 2006 - 23:44 #58
ups igen ... var stime = <%=etellerandetdergiverunixtime-rs_kald("na")%>;
... der er jo ikke grund til at oprette en tid og så hive den samme tid ud igen :D
Avatar billede thomas_b Nybegynder
24. august 2006 - 23:45 #59
det tror jeg ikke...! Jeg kender ikke så mange komandoer...!
Avatar billede mclemens Nybegynder
24. august 2006 - 23:57 #60
så prøv med den i 24/08-2006 23:38:04 ... den burde også klare det ...
Avatar billede thomas_b Nybegynder
24. august 2006 - 23:57 #61
Jeg tror jeg har fået det til at virke med de tidligere modeller...

Men det er som at denne funktion i sig selv ikke virker...!
window.onload = function()
{
startTime();
startTime2();
}
Avatar billede mclemens Nybegynder
25. august 2006 - 00:04 #62
en window.onload funktion der ser sådan ud
- og som ikke virker ... nej, det passer ikke...
( den virker selvfølgelig ikke hvis funktionerne startTime()
eller startTime2() ikke eksisterer og kan også gå i
stå hvis man har fejl i andre scripts...


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>
<script type="text/javascript">

window.onload = function(){
  startTime();
  startTime2();
  alert("ved 2 alerts så virker funktionen fint"); /* hvis du slet ingen alerts får har du noget indhold der aldrig bliver loadet ... eller en body onload eller en anden window.onload der konflikter */
}

function startTime(){
  alert("opkaldet til funktion startTime() virkede");
}

function startTime2(){
  alert("opkaldet til funktion startTime2() virkede");
}

</script></head><body>
</body></html>
Avatar billede thomas_b Nybegynder
25. august 2006 - 00:07 #63
Der kommer slet ikke noglen alert...!

Den viser dog stadig en fejl... du ved nede i proseslinien...
Avatar billede mclemens Nybegynder
25. august 2006 - 00:08 #64
25/08-2006 00:04:07 virker ganske fint hos mig i IE og i Firefox ...
hvad er fejlen og hvilken browser - og evt. hvad sikkerheds indstilling ?
Avatar billede mclemens Nybegynder
25. august 2006 - 00:09 #65
og hvilket browser versions nr. evt. ? Det må næsten være
en fejl i din browser - eller for stram sikkerhed ...
25/08-2006 00:04:07 burde virke i alle browsere...
Avatar billede thomas_b Nybegynder
25. august 2006 - 00:12 #66
Hmmm... Hvordan kan det være at siden ikke er opdateret når jeg oploader den...!
Har du oplevet det før ?
Avatar billede mclemens Nybegynder
25. august 2006 - 00:15 #67
F5 eller evt. ctrl + F5 ... har aldrig oplevet det selv, det kan tænkes at du sidder bagved en træls proxy - at du har noget caching på din pc aktiveret eller at din server kører med noget filcaching og at det derfor ikke slår igennem med det samme ...
Avatar billede thomas_b Nybegynder
25. august 2006 - 00:21 #68
Det er godt nok mysstisk...
Avatar billede thomas_b Nybegynder
25. august 2006 - 00:39 #69
Nu virker alerterne...

Men den kommer med en fejl i:  document.getElementById("txt").firstChild.nodeValue = h + ":" + m + ":" + s
Og den viser ikke nogen af urene...
Avatar billede thomas_b Nybegynder
25. august 2006 - 00:43 #70
Den siger den er null eller ikke et opjekt...
Avatar billede mclemens Nybegynder
25. august 2006 - 00:53 #71
Det eneste den siger hos mig er:

HTTP Error 404

404 Not Found

The Web server cannot find the file or script you asked for. Please check the URL to ensure that the path is correct.

Please contact the server's administrator if this problem persists.



... men fejlen du får betyder at elementet mangler i dette tilfælde f.eks.: <b id="txt">00:00:00</b> eller: <b id="txt">&nbsp;</b> _ikke_ <b id="txt"></b> ... for ellers skal vi først til at appende en textnode istedet for at rette teksten ... og det gør scriptet tungere ...
Avatar billede mclemens Nybegynder
25. august 2006 - 00:54 #72
(blot 2 linjer selvfølgelig ... men det er næmmere at have en childnode i elementet)
Avatar billede thomas_b Nybegynder
25. august 2006 - 01:07 #73
Så virker det...

der skulle bare stå noget i: <b id="txt"></b>
der skulle lige ændres i denne.. fra + til - med afvigelsen...:  var newtime = new Date(now.getTime()-afvigelse);

Det var vist det...: sådan er slutsresultatet kommet til at se ud...:


<script language="jscript" runat="server">
var myTime = new Date().valueOf();
</script>
<script type="text/JavaScript">
var stime = new Date(<%=myTime%>);
var ltime = new Date().getTime();
var afvigelse = ltime - stime;

function startTime() {
  var now = new Date();
  var newtime = new Date(now.getTime()-afvigelse);

  h = newtime.getHours();
  m = newtime.getMinutes();
  s = newtime.getSeconds();

  if(h<10) h = "0" + h;
  if(m<10) m = "0" + m;
  if(s<10) s = "0" + s;

  document.getElementById("txt").firstChild.nodeValue = h + ":" + m + ":" + s

  setTimeout("startTime()",1000)
}


window.onload = function()
{
startTime();
startTime12();
}


</script>
<script type="text/JavaScript">
var afvigel12 = Math.round(<%=rs_kald("na")%>/1000);

function startTime12(){

  var h12 = Math.floor(afvigel12/3600);
  var m12 = Math.floor((afvigel12%3600)/60);
  var s12 = afvigel12%60;

  if(h12<10) h12 = "0" + h12;
  if(m12<10) m12 = "0" + m12;
  if(s12<10) s12 = "0" + s12;


document.getElementById("txt_wa").firstChild.nodeValue = h12 + ":" + m12 + ":" + s12;

afvigel12+=1;

setTimeout("startTime12()",1000)

}
</script>

<b id="txt">00:00:00</b>
<b id="txt_wa">00:00:00</b>
Avatar billede thomas_b Nybegynder
25. august 2006 - 01:09 #74
roenving --> Vil du være med på at dele... ?
Avatar billede roenving Novice
30. august 2006 - 13:13 #75
Det er vist mclemens, der har trukket tråden ...
Avatar billede thomas_b Nybegynder
30. august 2006 - 19:30 #76
ok... i hvert fald 1000 tak til alle...
Avatar billede mclemens Nybegynder
30. august 2006 - 19:35 #77
Velbekom, og tak for point :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester