/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
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

> 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



Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408930
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste