|
| Div. dato-problemer... Fra : Rasmus Nielsen |
Dato : 09-09-03 11:34 |
|
Hej,
Jeg skal lave flg., som jeg ikke helt kan gennemskue hvordan jeg griber an:
Jeg skal lave en variabel (som skal i en database). Den skal være dato og
klokkeslæt på den førstkommende fredag kl. 12.
Der ud over skal jeg så have bikset en IF-sætning sammen, som ved hjælp af
den samme variabel (når den trækkes ud fra DB'en igen) kun er "sand" hvis
datoen og klokkeslættet ikke er overskredet.
Er der nogen der vil hjælpe mig lidt med det?
På forhånd tak!
--
Venlig hilsen, Rasmus Nielsen.
| |
Morten R. Rasmussen (09-09-2003)
| Kommentar Fra : Morten R. Rasmussen |
Dato : 09-09-03 23:34 |
|
Datoer er rimeligt nemme at arbejde med
Dato+1 giver imorgen.
LigeNu=Now()
DagsDato=DateSerial(Year(LigeNu),Month(LigeNu),Day(LigeNu))
UgeDag=Datepart("w",DagsDato,2,2)
if UgeDag<5 then 'Før fredag
Fredagen=DagsDato+(5-UgeDag)
elseif UgeDag=5 then 'Fredag
if Hour(LigeNu)<12 then 'Før 12
Fredagen=DagsDato
else 'Efter 12
Fredagen=DagsDato+7
end if
else ' Lørdag og Søndag
Fredagen=DagsDato+(5-UgeDag+7)
End if
' Plus 12 timer
Fredagen=Fredagen+0.5
"Fredagen" er nu en dato-variabel du kan proppe i databasen.
Og når du henter, beregner du på samme måde og sammenligner med databasens
dato
if Now()<rs("Datoen").Value then
Response.Write "Ikke Overskredet"
end if
- Morten
"Rasmus Nielsen" <postmaster@rasmusn.dk> wrote in message
news:bjka5o$jp261$1@ID-176586.news.uni-berlin.de...
> Hej,
>
> Jeg skal lave flg., som jeg ikke helt kan gennemskue hvordan jeg griber
an:
>
> Jeg skal lave en variabel (som skal i en database). Den skal være dato og
> klokkeslæt på den førstkommende fredag kl. 12.
>
> Der ud over skal jeg så have bikset en IF-sætning sammen, som ved hjælp af
> den samme variabel (når den trækkes ud fra DB'en igen) kun er "sand" hvis
> datoen og klokkeslættet ikke er overskredet.
>
> Er der nogen der vil hjælpe mig lidt med det?
>
> På forhånd tak!
>
> --
> Venlig hilsen, Rasmus Nielsen.
>
>
| |
Rasmus Nielsen (10-09-2003)
| Kommentar Fra : Rasmus Nielsen |
Dato : 10-09-03 11:12 |
|
Tusind tak skal du have! Der er dog noget der ikke helt funger. Det kommer
ganske rigtigt en post i DB'en, eks. 9/12/2003 12:00:00 PM - det har jeg så
manuelt ændret til 12 i dag (9/10/2003 12:00:00 PM) for at teste.
Men selvom jeg bruger
if Now()<rs("end").Value then
Bla. Bla.
Og manuelt inden for dato-løkken verificeret at "end" i DB'en er 9/10/2003
12:00:00 PM og Now på serveren er 9/10/2003 12:10:04 PM, så gør den
alligevel det, der står inden for If-sætningen.
End If
Hvad er der mon galt?
Venlig hilsen, Rasmus Nielsen.
| |
Jørn Andersen (11-09-2003)
| Kommentar Fra : Jørn Andersen |
Dato : 11-09-03 04:12 |
|
On Wed, 10 Sep 2003 12:11:33 +0200, "Rasmus Nielsen"
<postmaster@rasmusn.dk> wrote:
>Men selvom jeg bruger
>if Now()<rs("end").Value then
>Bla. Bla.
>Og manuelt inden for dato-løkken verificeret at "end" i DB'en er 9/10/2003
>12:00:00 PM og Now på serveren er 9/10/2003 12:10:04 PM, så gør den
>alligevel det, der står inden for If-sætningen.
>End If
Jeg ved ikke helt, hvad problemet er, men til sammenligning af datoer,
ville jeg klart bruge DateDiff-funktionen - helst direkte i SQL'en,
hvis det er muligt, ellers i VBScript.
Good luck!
--
Jørn Andersen,
Brønshøj
| |
Rasmus Nielsen (11-09-2003)
| Kommentar Fra : Rasmus Nielsen |
Dato : 11-09-03 10:13 |
|
> Jeg ved ikke helt, hvad problemet er, men til sammenligning af datoer,
> ville jeg klart bruge DateDiff-funktionen - helst direkte i SQL'en,
> hvis det er muligt, ellers i VBScript.
Er der nogen der kan sige mig, hvordan jeg konkret skal bruge det i mit
script, i stedet for "if Now()<rs("end").Value then"?
--
Venlig hilsen, Rasmus Nielsen.
| |
Jørn Andersen (11-09-2003)
| Kommentar Fra : Jørn Andersen |
Dato : 11-09-03 10:37 |
|
On Thu, 11 Sep 2003 11:13:08 +0200, "Rasmus Nielsen"
<postmaster@rasmusn.dk> wrote:
>> Jeg ved ikke helt, hvad problemet er, men til sammenligning af datoer,
>> ville jeg klart bruge DateDiff-funktionen - helst direkte i SQL'en,
>> hvis det er muligt, ellers i VBScript.
>
>Er der nogen der kan sige mig, hvordan jeg konkret skal bruge det i mit
>script, i stedet for "if Now()<rs("end").Value then"?
Syntaxen er:
DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear]])
- eller i dette tilfælde blot:
DateDiff(interval, date1, date2)
If DateDiff("n", Now(), rs("end")) > 0 Then
' blabla
End If
Må jeg anbefale dig at bruge VBScript-dokumentationen. Du kan enten
slå op i den online:
<url: http://www.html.dk/dokumentation/vbscript/html-vss/vbsTOC.htm>
- eller downloade VBScript-dokumentationen i Windows HelpFile format
(.chm) og installére den lokalt:
<url:
http://www.msdn.microsoft.com/downloads/default.asp?url=/downloads/sample.asp?url=/msdn-files/027/001/728/msdncompositedoc.xml&frame=true>
- eller direkte:
<url:
http://download.microsoft.com/download/winscript56/Install/5.6/W982KMeXP/EN-US/scrdoc56en.exe>
Jeg vil klart anbefale at bruge den lokale version i Windows
Helpfile-format. Jeg har den stort set altid åben, når jeg arbejder
med ASP - både til at checke syntax og til lige at finde den rigtige
funktion.
Good luck!
--
Jørn Andersen,
Brønshøj
| |
Morten R. Rasmussen (12-09-2003)
| Kommentar Fra : Morten R. Rasmussen |
Dato : 12-09-03 00:30 |
|
Det lyder som om dit felt i databasen ikke er et dato-felt.
Kan det passe?
(man bruger ikke datediff til den slags sammenligninger)
- Morten
"Rasmus Nielsen" <postmaster@rasmusn.dk> wrote in message
news:bjmt78$l2hg7$1@ID-176586.news.uni-berlin.de...
> Tusind tak skal du have! Der er dog noget der ikke helt funger. Det kommer
> ganske rigtigt en post i DB'en, eks. 9/12/2003 12:00:00 PM - det har jeg
så
> manuelt ændret til 12 i dag (9/10/2003 12:00:00 PM) for at teste.
>
> Men selvom jeg bruger
> if Now()<rs("end").Value then
> Bla. Bla.
> Og manuelt inden for dato-løkken verificeret at "end" i DB'en er 9/10/2003
> 12:00:00 PM og Now på serveren er 9/10/2003 12:10:04 PM, så gør den
> alligevel det, der står inden for If-sætningen.
> End If
>
> Hvad er der mon galt?
>
> Venlig hilsen, Rasmus Nielsen.
>
>
| |
Jørn Andersen (12-09-2003)
| Kommentar Fra : Jørn Andersen |
Dato : 12-09-03 00:44 |
|
On Fri, 12 Sep 2003 01:29:33 +0200, "Morten R. Rasmussen"
<mortrr@liamtoh.com> wrote:
>(man bruger ikke datediff til den slags sammenligninger)
Hvorfor?
Jeg mener: Det kan du måske nok have ret i - men hvorfor?
PS: Gider du tage et kig på:
<URL: http://www.usenet.dk/netikette/citatteknik.html>
--
Jørn Andersen,
Brønshøj
| |
Morten R. Rasmussen (13-09-2003)
| Kommentar Fra : Morten R. Rasmussen |
Dato : 13-09-03 10:13 |
|
Hej Jørn,
Man bruger DateDiff til at finde den specifikke forskel på to datoer.
Ikke til at finde ud af om den ene er større eller mindre end den anden.
PS: Mit svar gav ikke mening uden hele hans spørgsmål.
Jeg kunne have klippet en enkel linie ud, men ærligt talt...
- Morten
"Jørn Andersen" <jorn@jorna.dk> wrote in message
news:o222mv03lkblp9rhdsd4v7n301v6theu76@4ax.com...
> On Fri, 12 Sep 2003 01:29:33 +0200, "Morten R. Rasmussen"
<mortrr@liamtoh.com> wrote:
>
> >(man bruger ikke datediff til den slags sammenligninger)
>
> Hvorfor?
> Jeg mener: Det kan du måske nok have ret i - men hvorfor?
>
> PS: Gider du tage et kig på:
> <URL: http://www.usenet.dk/netikette/citatteknik.html>
| |
Torben Brandt (13-09-2003)
| Kommentar Fra : Torben Brandt |
Dato : 13-09-03 12:15 |
|
Morten R. Rasmussen wrote:
> PS: Mit svar gav ikke mening uden hele hans spørgsmål.
> Jeg kunne have klippet en enkel linie ud, men ærligt talt...
>
> Jørn Andersen wrote:
>> PS: Gider du tage et kig på:
>> <URL: http://www.usenet.dk/netikette/citatteknik.html>
Prøv at se på linket igen :)
Du bør svare _under_ det citerede.
/Torben
| |
Peter Lykkegaard (13-09-2003)
| Kommentar Fra : Peter Lykkegaard |
Dato : 13-09-03 12:53 |
|
"Morten R. Rasmussen" <mortrr@liamtoh.com> wrote in message
news:3f62df8b$0$198$edfadb0f@dread11.news.tele.dk...
> Man bruger DateDiff til at finde den specifikke forskel på to datoer.
> Ikke til at finde ud af om den ene er større eller mindre end den anden.
Er det ikke nøjagtig det samme?
Hvordan vil du ellers finde ud af om et tidspunkt er overskredet - på en nem
og enkel måde
Datediff er suveræn til dette foremål
>
> PS: Mit svar gav ikke mening uden hele hans spørgsmål.
> Jeg kunne have klippet en enkel linie ud, men ærligt talt...
>
Du skriver over det du svarer på
Vi andre skriver under det vi svarer på - fx som her
Det er en almindelig anerkendt og faktisk ret udbredt metode når man svarer
på et spørgsmål/indlæg
mvh/Peter Lykkegaard
| |
Peter Lykkegaard (13-09-2003)
| Kommentar Fra : Peter Lykkegaard |
Dato : 13-09-03 14:15 |
|
"Morten R. Rasmussen" <mortrr@liamtoh.com> wrote in message
news:3f62df8b$0$198$edfadb0f@dread11.news.tele.dk...
> Man bruger DateDiff til at finde den specifikke forskel på to datoer.
> Ikke til at finde ud af om den ene er større eller mindre end den anden.
>
Lidt brug af datediff
Efter middag:
DateDiff("n", Date, Now) > 12*60
Eller mere præcist
DateDiff("s", Date, Now) > 12*60*60
Dato overskredet
DateDiff("s", Now, "9/13/03 12:00:00") < 0
De er meget effektive i SQL statements...
mvh/Peter Lykkegaard
| |
Morten R. Rasmussen (13-09-2003)
| Kommentar Fra : Morten R. Rasmussen |
Dato : 13-09-03 15:04 |
|
"Peter Lykkegaard" <polonline@hotmail.com> wrote in message
news:3f631930$0$32470$edfadb0f@dread16.news.tele.dk...
>
> "Morten R. Rasmussen" <mortrr@liamtoh.com> wrote in message
> news:3f62df8b$0$198$edfadb0f@dread11.news.tele.dk...
>
> > Man bruger DateDiff til at finde den specifikke forskel på to datoer.
> > Ikke til at finde ud af om den ene er større eller mindre end den anden.
> >
> Lidt brug af datediff
>
> Efter middag:
> DateDiff("n", Date, Now) > 12*60
>
> Eller mere præcist
> DateDiff("s", Date, Now) > 12*60*60
>
> Dato overskredet
> DateDiff("s", Now, "9/13/03 12:00:00") < 0
>
> De er meget effektive i SQL statements...
>
De to første kan jeg til dels gå med til, men det sidste giver ikke mening.
Hvorfor skal der foretages beregninger for at finde antal sekunder, når man
blot kan sammenligne to datoer?
Det er hurtigere blot at sammenligne dato1<dato2
Og mht de to første vil det give mere mening at kigge på Datepart.
Igen er det spild at lave flere beregninger end absolut nødvendigt.
Og det er lige gyldigt om det er i sql eller vb(script).
- Morten
| |
|
|