[JS] Probleem met datum

Pagina: 1
Acties:

  • BierPul
  • Registratie: Juni 2001
  • Laatst online: 20-08 21:59

BierPul

2 koffie graag

Topicstarter
Ik probeer via Javascript te achterhalen wat de eerst volgende uitzendatum van een tv programma is .

Via de volgende code

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var stringVandaag = '03092003';

if(parseInt(stringVandaag) < parseInt('14082003')){
    document.write('14 augustus 2003');
} else if(parseInt(stringVandaag) < parseInt('21082003')) {
    document.write('21 augustus 2003');
} else if(parseInt(stringVandaag) < parseInt('28082003')) {
    document.write('28 augustus 2003');
} else if(parseInt(stringVandaag) < parseInt('04092003')) {
    document.write('4 september 2003');
} else if(parseInt(stringVandaag) < parseInt('11092003')) {
    document.write('11 september 2003');
} else if(parseInt(stringVandaag) < parseInt('18092003')) {
    document.write('18 september 2003');
}


Het vage is dat hij in dit geval 4 septemper terug zou moeten geven maar 14 augustus zegt :(

[ Voor 12% gewijzigd door BierPul op 04-08-2003 14:18 ]

Ja man


  • SPee
  • Registratie: Oktober 2001
  • Laatst online: 15:50
Volgens mij haalt hij door het te parsen naar een int de eerste 0-en gewoon weg.
Kun je het als string vergelijken ofzo? Of er normale datums van maken.

let the past be the past.


  • pietje63
  • Registratie: Juli 2001
  • Laatst online: 16:14

pietje63

RTFM

Ik vind dat niet heel erg raar want javascript ziet 14082003 als een groter getal dan 03092003 denk ik
Ik zal de string andersom opbouwen dus: 20030814 en 20030903 dan zal het wel werken

in feite zijn nu alle getallen groter dan 03092003 dus zou hij alle getallen printen als je IF ipv ELSE IF had gebruikt

[ Voor 33% gewijzigd door pietje63 op 04-08-2003 14:23 ]

De grootste Nederlandstalige database met informatie over computers met zoekfunctie!!


  • BierPul
  • Registratie: Juni 2001
  • Laatst online: 20-08 21:59

BierPul

2 koffie graag

Topicstarter
Ik heb hem als string vergeleken maar dat ging ook niet ,

ik krijg hem op deze wijze aangeboden en wil hem liever zo blijven benaderen :P

Mist het niet anders kan natuurlijk :)

Is er een formaat waar hij standaard mee rekend zoals je zegt een "normale" datum :?

Pietje heeft duidelijk een punt :P

[ Voor 11% gewijzigd door BierPul op 04-08-2003 14:24 ]

Ja man


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

BierPul schreef op 04 August 2003 @ 14:23:
[...]Is er een formaat waar hij standaard mee rekend zoals je zegt een "normale" datum :?
Ja, JavaScript kent een Date object. Het is nogal logisch dat het in dit geval fout gaat aangezien je integers gebruikt. Een CCYYMMDD notatie kan dit natuurlijk ook oplossen, maar werken met echte Date objecten vind ik persoonlijk mooier.

Intentionally left blank


  • André
  • Registratie: Maart 2002
  • Laatst online: 19-08 12:30

André

Analytics dude

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
var stringVandaag = 20030903;

if (stringVandaag < 20030814)
{
  document.write('14 augustus 2003');
} 
else if (stringVandaag < 20030821)
{
  document.write('21 augustus 2003');
}
else if (stringVandaag < 20030828)
{
  document.write('28 augustus 2003');
}
else if (stringVandaag < 20030904)
{
  document.write('4 september 2003');
}
else if (stringVandaag < 20030911)
{
  document.write('11 september 2003');
}
else if (stringVandaag < 20030918)
{
  document.write('18 september 2003');
}

Maar je kunt ook met het Date object werken:

JavaScript:
1
2
  Datum = new Date("12/27/1980");
  Tijd = Datum.getTime();

[ Voor 30% gewijzigd door André op 04-08-2003 16:51 ]

Pagina: 1