Avatar billede horsmark Nybegynder
02. oktober 2001 - 22:39 Der er 5 kommentarer og
2 løsninger

sammenligne to datoer (dd-mm-yy tt:nn)

Hvordan kan jeg se om et brugerangivet starttidspunkt er større end et sluttidspunkt?

Jeg har valideringen af brugerens indtastede datoer på plads. De to datoer er i formatet [dd-mm-yy tt:nn]

MVh
HorsMark
Avatar billede z42cool Nybegynder
02. oktober 2001 - 22:56 #1
if (Date.parse(starttime) - Date.parse(endtime) > 0 ) {

//starttime er størst

} else if (Date.parse(starttime) - Date.parse(endtime) < 0) {

//starttime er mindst

} else {

//starttime og endtime er ens

}
Avatar billede jakoba Nybegynder
02. oktober 2001 - 23:26 #2
Du skal lave  Date  objekter ud af de to datoer

var date1ind = \"20-09-01 22:55\";  // lad brugeren sætte den
var date2ind = \"30-02-00 05:02\";  // lad brugeren sætte den

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 );
    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

var dato1 = makeDate( date1ind );
var dato2 = makeDate( date2ind );

if ( dato1.valueOf() > dato2.valueOf() ) {
    alert( \"dato nummer 1 er størst\" )
} else
if ( dato1.valueOf() < dato2.valueOf() ) {
    alert( \"dato nummer 2 er størst\" )
} else
    alert( \"de to datoer er ens\" );


mvh JakobA
Avatar billede z42cool Nybegynder
02. oktober 2001 - 23:42 #3
Re: Jakob>> Hvorfor gå gennem alt det besvær når nu Date objektet har en parse metode der ganske glimrende klarer det. Nedenstående virker fint og er noget nemmere!

<script>

var starttime = \"15-12-74 12:00\";
var endtime = \"15-12-74 12:00\";

if (Date.parse(starttime) - Date.parse(endtime) > 0 ) {
    document.write(\"Starttime er størst\");
} else if (Date.parse(starttime) - Date.parse(endtime) < 0) {
    document.write(\"Starttime er mindst\");
} else {
    document.write(\"Starttime og Endtime er ens\");
}   

</script>
Avatar billede jakoba Nybegynder
03. oktober 2001 - 00:08 #4
med Date.parse( det datoformat ):
var starttime = \"15-12-74 11:00\";
var endtime = \"15-12-74 12:00\";
ns4.7 giver > Starttime og Endtime er ens
ie4  giver > Starttime er mindst
Opera5 giver> Starttime og Endtime er ens
iflg min dokumentation skal datoen være i localeString format til parse( string );

prøv lige at teste lidt mere :-))

Avatar billede horsmark Nybegynder
03. oktober 2001 - 00:39 #5
drenge rooolige nu *stort smil* Jeg har fået det til at funke og i får pointsne til deling eftersom jeg har brug for begge løsninger (..på intranet med kort IE version og X-browser version til WWW)

takker og bukker og slukker og lukker
<mvh>Onkel HorsMark</mvh>
Avatar billede jakoba Nybegynder
03. oktober 2001 - 00:55 #6
Øøøvvv, nu var det lige ved at blive interresant :-))
takker
Avatar billede z42cool Nybegynder
03. oktober 2001 - 10:39 #7
He-he... IE styrer - NS og Opera sukker...... Thx... :-)
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