[ASP] 2 datums vergelijken

Pagina: 1
Acties:

  • ArjanC
  • Registratie: Juli 2001
  • Laatst online: 26-01 17:16
Hoi, ik moet 2 datums vergelijken.

nu dacht ik dit :
code:
1
2
3
IF Request.Form("begin_time") = >Request.Form("end_time") then
    Response.Write("begin_time = higher than end time change !")
end if

maar da snapt ie niet..

de begin tijd mag niet hoger zijn dan de eind tijd.

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

ASP is voor mij een tijdje geleden, maar moet je ze niet eerst vertalen naar datums?

dmv cdate?

edit:

oopps het is onzin


try this:
http://www.google.com/search?sourceid=navclient&q=compare+dates+vb

Programmer - an organism that turns coffee into software.


  • Tommel
  • Registratie: November 2000
  • Niet online
Je kunt het met de vbscript datum functies doen.
b.v. met de datediff() functie, maar er zijn nog wel andere manieren.

Kijk hier eens staan wel leuke dingen tussen:
http://www.aspin.com/home/tutorial/datetime

Succes

  • ArjanC
  • Registratie: Juli 2001
  • Laatst online: 26-01 17:16
ze worden uit een form gehaalt,
en ik heb nog een geweldige fout gemaakt :) het zijn geen datums maar tijden :) nie boos worden..

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Op donderdag 04 april 2002 14:09 schreef burp2001 het volgende:
ze worden uit een form gehaalt,
en ik heb nog een geweldige fout gemaakt :) het zijn geen datums maar tijden :) nie boos worden..
tijden zijn ook datums... :)
Dus nee we worden niet boos... :)

Programmer - an organism that turns coffee into software.


  • ArjanC
  • Registratie: Juli 2001
  • Laatst online: 26-01 17:16
ik kan het niet vinden :(

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

toveren met tijd is hetzelfde als toveren met een datum op dezelfde dag.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 14:16

Crazy D

I think we should take a look.

DateDiff Function
Even bookmarken ;)

Exact expert nodig?


  • ArjanC
  • Registratie: Juli 2001
  • Laatst online: 26-01 17:16
thnks :)

maar. ik wil het verschil niet weten maar ik wil weten of tijd a > dan tijd b

zojaaaaa geef foutmelding.

datediff geeft het verschil terug..

als ik bv -2:00 krijg hoe moet ik dit dan afvanguh?

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

hehehe.. ik zal je vraag anders stellen. Hoe zie jij of een getal negatief of positief is ?

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • ArjanC
  • Registratie: Juli 2001
  • Laatst online: 26-01 17:16
if .... = <0
if .... = >0

zoiets?

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 14:16

Crazy D

I think we should take a look.

Op donderdag 04 april 2002 14:55 schreef burp2001 het volgende:
if .... = <0
if .... = >0

zoiets?
Oh ik maak van het getal altijd een string en check of de eerste positie een "-" is :+

Maar je hebt zelf dus al zo'n beetje je antwoord gegeven. Als DateDiff 2 teruggeeft, kun je dus zelf wel bekijken d.m.v. een if-je of dit positief, negatief, of 0 is, en daarmee weet je ook of time1 groter, kleiner, of gelijk aan time2 is :)

Exact expert nodig?


  • ArjanC
  • Registratie: Juli 2001
  • Laatst online: 26-01 17:16
hehe, het lukt me wel :)

sorry, ik ben er nog niet zo erug bekend mee !

ik krijg nu dit :


Error Type:
Microsoft VBScript runtime (0x800A0005)
Invalid procedure call or argument: 'datediff'
/calendar/test2.asp, line 20


met code:
code:
1
2
test = datediff(n,Request.Form("begin_time"),Request.Form("end_time"))
Response.Write(test & "<br>")

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Op donderdag 04 april 2002 15:01 schreef burp2001 het volgende:
hehe, het lukt me wel :)

sorry, ik ben er nog niet zo erug bekend mee !

ik krijg nu dit :


Error Type:
Microsoft VBScript runtime (0x800A0005)
Invalid procedure call or argument: 'datediff'
/calendar/test2.asp, line 20


met code:
test = datediff("n",Request.Form("begin_time"),Request.Form("end_time"))
""

Programmer - an organism that turns coffee into software.


  • ArjanC
  • Registratie: Juli 2001
  • Laatst online: 26-01 17:16
laat maar :)

ben blind heb bril nodig

datediff("n" <---!

thanks voor de hulp!

  • IWriteCode
  • Registratie: Juli 2000
  • Laatst online: 27-08 13:35

IWriteCode

Less = more

Waar ik altijd grote problemen met heb is het gebruik van Dates in (ADO) queries in ASP.
Alle records ophalen van een week oud bijvoorbeeld.. dat pikt ie dus echt niet.
Ik sla nu de data's als strings op.. maar das natuurlijk ook niet echt fraai.

Dus iets als:
code:
1
2
sSQL = "SELECT * FROM TblBlaat Where DateTime > '" & Now() - 7 & "'"
Set rsBlaat=oConnection.Execute(sSQL)

werkt voor geen meter.. iemand enig idee?

Less = more


  • bigtree
  • Registratie: Oktober 2000
  • Laatst online: 07-07 11:51
code:
1
now () - 7

is volgens mij 7 seconden geleden.

Lekker woordenboek, als je niet eens weet dat vandalen met een 'n' is.


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op vrijdag 05 april 2002 10:31 schreef Jamal het volgende:
[..]
Ik sla nu de data's als strings op.. maar das natuurlijk ook niet echt fraai.
[..]
werkt voor geen meter.. iemand enig idee?
Jah, Niet als string opslaan maar als datum.

Als jij een getal ga opslaan ga je toch ook geen string veld gebruiken ? (althans dat hoop ik voor je)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • bigtree
  • Registratie: Oktober 2000
  • Laatst online: 07-07 11:51
Op vrijdag 05 april 2002 10:42 schreef dusty het volgende:

[..]
Als jij een getal ga opslaan ga je toch ook geen string veld gebruiken ?
Nee, dat geeft problemen met het sorteren ;)

Lekker woordenboek, als je niet eens weet dat vandalen met een 'n' is.


  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 14:16

Crazy D

I think we should take a look.

Op vrijdag 05 april 2002 10:31 schreef Jamal het volgende:
Dus iets als:
[code]sSQL = "SELECT * FROM TblBlaat Where DateTime > '" & Now() - 7 & "'"
Daar gebruik je DateAdd voor (alleen dan met een negatief aantal).

Exact expert nodig?


  • IWriteCode
  • Registratie: Juli 2000
  • Laatst online: 27-08 13:35

IWriteCode

Less = more

code:
1
now () - 7

is volgens mij 7 seconden geleden.
Nope.. getallen voor de comma zijn de dagen.. achter de comma is een deel van die dag.
Jah, Niet als string opslaan maar als datum.
Als jij een getal ga opslaan ga je toch ook geen string veld gebruiken ? (althans dat hoop ik voor je)
Nee, maar als je problemen hebt met het gebruik van datums dan moet je toch een oplossing zoeken. Als ik de data's opsla in de vorm: yyyy-mm-dd hh:mm:ss (2002-12-30 12:00:00) dan werkt het sorteren enz enz als een trein.

Less = more


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op vrijdag 05 april 2002 11:01 schreef Jamal het volgende:
Nee, maar als je problemen hebt met het gebruik van datums dan moet je toch een oplossing zoeken. Als ik de data's opsla in de vorm: yyyy-mm-dd hh:mm:ss (2002-12-30 12:00:00) dan werkt het sorteren enz enz als een trein.
Dan zijn het ook geen data meer, dan zijn het Strings.

En dan moet je het ook behandelen als strings. Moet je niet verwachten dat datum functies er opeens goed op werken.

Laten we ook maar niet beginnen over de snelheid ervan.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • IWriteCode
  • Registratie: Juli 2000
  • Laatst online: 27-08 13:35

IWriteCode

Less = more

code:
1
2
3
4
[..]
Ik sla nu de data's als strings op.. maar das natuurlijk ook niet echt fraai.
[..]
werkt voor geen meter.. iemand enig idee?

Jah, Niet als string opslaan maar als datum.

Als jij een getal ga opslaan ga je toch ook geen string veld gebruiken ? (althans dat hoop ik voor je)
En je kan wel dingen gaan lopen quoten met stukken er tussen uit laten, maar dan schets je een verkeerd beeld.

Het voorbeeld dat niet werkt is dus een voorbeeld met het gebruik van dates met niet met strings.

Ik schrijf dat DAT dus niet werkt en wat is jou oplossing:
Jah, Niet als string opslaan maar als datum. |:(
Dan zijn het ook geen data meer, dan zijn het Strings.
Daarom schrijf ik ook:
Ik sla nu de data's als strings op.. maar das natuurlijk ook niet echt fraai.
Dus.. maar heeft er iemand een voorbeeld van een stukje ASP code die een ADO query uitvoert die alle records ophaalt die een week oud zijn?
code:
1
2
sSQL = "SELECT * FROM TblBlaat Where DateTime > '" & Now() - 7 & "'"
Set rsBlaat=oConnection.Execute(sSQL)

werkt dus niet :(

Less = more


  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 14:16

Crazy D

I think we should take a look.

Op vrijdag 05 april 2002 13:34 schreef Jamal het volgende:
Dus.. maar heeft er iemand een voorbeeld van een stukje ASP code die een ADO query uitvoert die alle records ophaalt die een week oud zijn?
Ik heb even gemist welke db je gebruikt...
Er vanuit gaande dat je echte datum-velden hebt (datetime type dus) zou je in MSSQL iets kunnen doen als
SELECT * FROM tabelletje WHERE DATEPART(datumveld, ww) = (DATEPART(getDate(), ww) - 1)

In Access zou dit denk ik wel moeten werken:
SELECT * FROM tabelletje WHERE DatePart("ww", datumveld) = (DatePart("ww", Date) - 1)

En op de manier waarop jij je datums als strings opslaat zul je met datepart de 1e dag van de vorige week, en de laatste dag van de vorige week moeten bepalen, die formatteren als strings zoals je ze in de database hebt staan, en met een between of datumveld >= beginweek and datumveld <=eindweek

Zoiets... :P

Exact expert nodig?


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op vrijdag 05 april 2002 13:34 schreef Jamal het volgende:
[..]
code:
1
2
sSQL = "SELECT * FROM TblBlaat Where DateTime > '" & Now() - 7 & "'"
Set rsBlaat=oConnection.Execute(sSQL)

werkt dus niet :(
Gereserveerd woord gebruiken als kolomnaam?

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR

Pagina: 1