var indtastet = new Date( aar, maaned, dag, time, minut, sekund ); // hvor aar, maaned, dag, time, minut, sekund blev indtastet. var nu = new Date(); // klokken lige nu
if ( ny.valueOf() > ( indtastet.valueOf() + 24*60*60*1000 ) ) { // den er ok } else { // den er for gammel return false; }
var indtastet = new Date(document.frm.toTime.value); denne giver NaN og et yderligere problem er at jeg kun har klokkeslettet med over, og ikke en hel dato
Synes godt om
Slettet bruger
02. oktober 2001 - 15:11#5
Men hvis du kun har klokkeslættet med over, hvordan vil du så tjekke for, om det er indenfor de næste 24 timer? Det vil alle klokkeslæt vel være!?
Ja. et program kan ikke forventes at forstå en dato indtastet i det format brugeren lige synes er det bedste. Der findes MEGET forskellige formater. fx i USA skriver de 5/6/2001 hvor europere skriver 6/5/2001 for 6\'te maj 2001 så du skal styre brugeren og være helt sikker på at du får de rigtige væredier for år, måned, dag, osv og de værdier bruger du så til at lave dit new Date( ... ) kald. med kommaer imellen.
lige nu får jeg eks 12:49 ud og det er tiden som jeg skal arbejde med. så der skal vel sættes en dato på for at ovenstående kommmer til at virke.
Synes godt om
Slettet bruger
02. oktober 2001 - 15:44#9
Ja, det var lige det, jeg mente! :-) Men så kan du jo også bare bede om en dato, eller du kan vælge kun at godtage klokkeslæt indenfor 12 timer af den indtastede tid!
har stadig store problemer. får tiden xx:xx ud af følgende en form, men magter tilsyneladende ikke at sammensætte denne med dagsdato således ovenstående script kan anvendes.
document.frm.toTime.value Jeg har lavet to strenge(dd.mm.yy hh:mm) med tiderne der skal sammenlignes men jeg går ud fra at de skal konventeres til en date for det kan lade sig gøre.
Ja. Du skal lave Date objekter ud af de to datoer:
i head: <script language=\'javascript\'> <!--
function makeDate( dateXind ) { var aar = parseInt( dateXind.substring(6,8), 10 ); if ( aar > 50 ) aar += 1900 else aar += 2000; // Y2K fix var maaned = parseInt( dateXind.substring(3,5), 10 )-1; var dag = parseInt( dateXind.substring(0,2), 10 ); var time = parseInt( dateXind.substring(9,11), 10 ); var minut = parseInt( dateXind.substring(12,14), 10 ); return new Date (aar, maaned, dag, time, minut, 0 ); }; //end makeDate( string ) -> Date objekt
function sammenlign () { var dato1 = new Date() // klokken lige nu var dato2 = makeDate( document.frm.toTime.value ); // det indtastede //i format dd.mm.yy tt:mm. eg \"20.09.01 22:55\";
if ( dato1.valueOf() >= dato2.valueOf() && dato1.valueOf() < ( dato2.valueOf()) + 24*60*60*1000 ) { alert( \"indtastet er indenfor de sidste 24 timer\" ) return true; } return false; }; //end sammenlign () -> boolean
// --> </script>
i body: <a href=\"java script:void( sammenlign() )\">sammenlign</a>
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.