Avatar billede thana_dk Nybegynder
01. juli 2002 - 11:10 Der er 4 kommentarer og
1 løsning

Datoer i måneder

Jeg vil gerne lave et script, hvor jeg hurtigt kan skrive plus eller minus til datoen idag. -Men når jeg skriver - 1, efter getDate(), får jeg datoen 0. Hvis jeg skriver - 2, får jeg datoen, -1. Hvordan kan jeg gøre sådan at den springer til den 31, og ikke regner i enheder, men med rigtige datoer?
Hvis det er noget med Date.parse, hvordan fungerer det så?

Mit enkle script:

<script language="JavaScript">



var dato = new Date().getDate();

var maaned = new Date().getMonth();

var aar = new Date().getYear();

</script>

</head>

<body bgcolor="#FFFFFF" text="#000000">

<script language="JavaScript">

document.write (date + " " + maaned + " " + aar);

</script>
Avatar billede jakoba Nybegynder
01. juli 2002 - 12:17 #1
var mintid = new Date();              // klikken lige nu i millisekunder.

om1sek = new Date( mintid.valueOf() + 1000 ); // om et sekund
om1min = new Date( mintid.valueOf() + 60*1000 ); // om et minut
om1tim = new Date( mintid.valueOf() + 60*60*1000 ); // om en time
om1dag = new Date( mintid.valueOf() + 24*60*60*1000 ); // om en dag

mvh JakobA
Avatar billede thana_dk Nybegynder
01. juli 2002 - 13:25 #2
Okay.

Men kan man ikke lave det med Date.parse, på en eller anden måde?
Avatar billede jakoba Nybegynder
01. juli 2002 - 13:46 #3
det Date.parse(...) nok er bedste til er at lave etn dato udaf en streng:
    var enDato = new Date( Date.parse("Aug 9, 1995") );

men pas på. den er rimelig striks med hvad input den vil have:
It accepts the IETF standard date syntax: "Mon, 25 Dec 1995 13:30:00 GMT". It understands the continental US time-zone abbreviations, but for general use, use a time-zone offset, for example, "Mon, 25 Dec 1995 13:30:00 GMT+0430" (4 hours, 30 minutes west of the Greenwich meridian). If you do not specify a time zone, the local time zone is assumed. GMT and UTC are considered equivalent.

når du engang har lavet et datoobjekt er det dog en lang omvej at konvertere til stren og tilbage igen blot for at ændre datoen. det er langt hurtiger med metoden ovenfor.

prøv denne testkode:
<script type='text/javascript'>

finction  plus1dag ( dato ) {
      return dato.setTime( dato.valueOf()+24*60*60*1000 );
}; //end  plus1dag

var enDato = new Date( Date.parse( prompt("skriv testdato:","") ) );
alert( enDato.toLocaleString() );
plus1dag( enDato );
alert( enDato.toLocaleString() );
plus1dag( enDato );
alert( endato.toLocaleString() );
plus1dag( enDato );
alert( enDato.toLocaleString() );

</script>

mvh JakobA
Avatar billede mikoalngelo Nybegynder
01. juli 2002 - 17:19 #4
finction = function :)
Avatar billede mikoalngelo Nybegynder
01. juli 2002 - 17:21 #5
alert( endato.toLocaleString() );
alert( enDato.toLocaleString() );
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

IT-JOB