---
title: "Jämföra datum"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/99201-jämföra-datum"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "@nders"
published: "2004-03-11T08:44:27.000Z"
updated: "2004-03-11T12:17:04.000Z"
replies: 13
views: 397
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/99201-jämföra-datum"
---

# Jämföra datum

## #1 — @nders, 2004-03-11T08:44Z

Hej, vänner. :)

Jag har variabler som innehåller år, månad och dag, och vill veta om detta datum är inom den närmaste veckan. Hur gör jag?

```
intYear = 2004;
intMonth = 2;
intDay = 14;

if (datum_skapat_av_info_ovan <= dagens_datum_plus_7_dagar) {
	// Fjohooo! :)
}
else {
	// Fjähäää! :(
}
```

Månad 2 är alltså mars för den som undrar. ;)

Mvh och tpf,

Permalänk: https://www.webforum.nu/p/99201

## #2 — J.N., 2004-03-11T09:49Z

HEJ!

Eftersom jag får datum via sex dropdowns ((yy++mm+dd)x2) löser jag det genom att sätta ihop datumet manuellt, och jämför dem.
Så enkelt är det faktiskt!

```
pa = new Date(form.pa_ar.value, form.pa_man.value-1, form.pa_dag.value);
form.hid_pa.value = form.pa_ar.value + "-" + form.pa_man.value + "-" + form.pa_dag.value;
av = new Date(form.av_ar.value, form.av_man.value-1, form.av_dag.value);
form.hid_av.value = form.av_ar.value + "-" + form.av_man.value + "-" + form.av_dag.value;
if (av < pa){
	alert("The removal-date must be after the release-date.");
	form.av_dag.focus();
	return (false);
}

lägger in det sammansatta datumet i hidden fields för nästa sida

<input type="hidden" name="hid_av" value=""><input type="hidden" name="hid_pa" value="">
```

Permalänk: https://www.webforum.nu/p/1295634

## #3 — @nders, 2004-03-11T10:00Z

Hur får jag veta om givet datum är inom en vecka från dagens datum? 

Kan man bara köra en liten subtraktion med datumobjekten?

Permalänk: https://www.webforum.nu/p/1295640

## #4 — J.N., 2004-03-11T10:25Z

HEJ!

Jag ser nu att jag endast svarade på halva frågan, om ens det :OO

Jag har aldrig behövt prova om [javascript-Date](http://www.devguru.com/Technologies/ecmascript/quickref/date.html) fixar minskningar eller ökningar på samma enkla sätt som i VB.
Du får troligen räkna om båda datum till millisekunder och sedan kontrollera om den siffran är större/mindre?

Detta svar har faktiskt inget med mitt tidigare svar att göra, förutom \< / \> :r

Permalänk: https://www.webforum.nu/p/1295655

## #5 — SPiN, 2004-03-11T10:26Z

```
nu = new Date();
omenvecka = new Date( nu.getYear(), nu.getMonth(), nu.getDate()+8 );
inmatat = new Date( "2004", "March", "16" );

if( inmatat < omenvecka ) {
   /* Fjo. */
} else {
   /* Fjä. */
}
```

 :q :)

Permalänk: https://www.webforum.nu/p/1295658

## #6 — @nders, 2004-03-11T10:38Z

Tack, SPiN!

Det fjungerar finfint! :bire

Permalänk: https://www.webforum.nu/p/1295670

## #7 — @nders, 2004-03-11T10:45Z

Det fjungerar finfint... I IE.
Men i Mozilla fjungerar det inte alls. ;)

Så här ser det ut:

```
nu = new Date();
dteValidDate = new Date( nu.getYear(), nu.getMonth(), nu.getDate()+8 );
dteThisDate = new Date( 2004, 2, 15 );
if (dteThisDate < dteValidDate) {
	// hit ska vi ju komma!
} else {
	// men vi hamnar här med geckoläsare!
}
```

Mvh

Permalänk: https://www.webforum.nu/p/1295676

## #8 — SPiN, 2004-03-11T10:49Z

```
nu = new Date();
dteValidDate = new Date( nu.getYear(), nu.getMonth()+1, nu.getDate()+8 );
dteThisDate = new Date( 2004, 2, 15 );
if (dteThisDate < dteValidDate) {
	// hit ska vi ju komma!
} else {
	// men vi hamnar här med geckoläsare!
}
```

Månad ska tydligen plussas på med 1 för att få nuvarande månad, enligt standard. Annars vet jag inte varför det inte fungerar - det följer standard till punkt och pricka.

Permalänk: https://www.webforum.nu/p/1295685

## #9 — @nders, 2004-03-11T11:20Z

Hmm. Knepigt. Så här ser datumen ut:

> **Mozilla Fajerbörd skrev:**
>
> dteValidDate: Wed Mar 19 0104 00:00:00 GMT+0100
> dteThisDate: Mon Mar 15 2004 00:00:00 GMT+0100

> **Internet Explorer skrev:**
>
> dteValidDate: Fri Mar 19 00:00:00 UTC+0100 2004
> dteThisDate: Mon Mar 15 00:00:00 UTC+0100 2004

Varför blir det fel år när jag använder Firebird???

Permalänk: https://www.webforum.nu/p/1295720

## #10 — niko, 2004-03-11T11:37Z

> Varför blir det fel år när jag använder Firebird???

Därför att FireBird returnerar "104" (antal år sedan 1900) i *new Date().getYear()*. Medan IE inte gör det.

Permalänk: https://www.webforum.nu/p/1295736

## #11 — @nders, 2004-03-11T11:43Z

Jo, men frågan är varför. Verkar extremt kass.

Hur gör jag då detta script oberoende av om man använder IE eller geckoläsare?

Permalänk: https://www.webforum.nu/p/1295741

## #12 — dectgap, 2004-03-11T11:50Z

Använd *getFullYear()* istället.
*getYear()* ska inte användas längre:
<http://devedge.netscape.com/library/manuals/2000/javascript/1.5/reference/date.html#1194138>

Permalänk: https://www.webforum.nu/p/1295748

## #13 — niko, 2004-03-11T11:51Z

/red: Too late.

Permalänk: https://www.webforum.nu/p/1295751

## #14 — @nders, 2004-03-11T12:17Z

Jamen sådärja! :D

Tack för hjälpen SPiN, niko och dectgap! (y)

Mvh

Permalänk: https://www.webforum.nu/p/1295769

---

Tråden på webben: https://www.webforum.nu/amne/javascript/99201-jämföra-datum
