/ 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
hjælp til tidsfunktion
Fra : Tor Lund


Dato : 02-12-02 16:29

jeg har nedenstående funktion og nu er jeg træt af at rode mere med den.
Tænkte at i lige ville give en hånd.

problem 1 : response.write(af) udskriver i 12 timers-format. dvs 11:00:00
PM. Hvorfor ?

problem 2: det egentlige problem er her. Jeg har en acces database med nogle
data af værdien short time. To af disse data skal trækkes fra hinanden dvs.
10:00 - 16:00. skulle jo så give en difference på 6 timer. er der nogen der
kan give svaret
jeg har prøvet at rode lidt med datediff, men det er vist ikke det rigtige
værktøs at bruge

function difftid (dbdato, dbwrxid)

af=timevalue("23:00")
an=timevalue("11:00")

Response.write(af)

'difftid = datediff(h,,)

end function


på forhånd tak.

Tor Lund



 
 
Jens Gyldenkærne Cla~ (02-12-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 02-12-02 16:47

Tor Lund skrev:

> problem 1 : response.write(af) udskriver i 12 timers-format.
> dvs 11:00:00 PM. Hvorfor ?

<http://www.asp-faq.dk/article/?id=47>

> problem 2: det egentlige problem er her. Jeg har en acces
> database med nogle data af værdien short time. To af disse
> data skal trækkes fra hinanden dvs. 10:00 - 16:00. skulle jo
> så give en difference på 6 timer.

Hvilket resultat får du?
Jeg gætter på at dit problem skyldes at Access også gemmer en dato,
selvom du kun specificerer tiden.

Jeg ville benytte et tekstfelt til at registrere tidspunkterne, og
så opbygge en funktion herfra. Alternativt kan man have to felter -
timer og minutter, og så styre formateringen selv.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Peter Lykkegaard (02-12-2002)
Kommentar
Fra : Peter Lykkegaard


Dato : 02-12-02 16:53

Som svar på skriblerier forfattet af Tor Lund

> jeg har nedenstående funktion og nu er jeg træt af at rode mere med
> den. Tænkte at i lige ville give en hånd.
>
> problem 1 : response.write(af) udskriver i 12 timers-format. dvs
> 11:00:00 PM. Hvorfor ?
>
Indstillinger på serveren, andre i gruppe kan sikkert fortælle hvad du skal
inkludere på siden for at få en efter danske forehold egnet tidsangivelse

> problem 2: det egentlige problem er her. Jeg har en acces database
> med nogle data af værdien short time. To af disse data skal trækkes
> fra hinanden dvs. 10:00 - 16:00. skulle jo så give en difference på 6
> timer. er der nogen der kan give svaret
> jeg har prøvet at rode lidt med datediff, men det er vist ikke det
> rigtige værktøs at bruge
>
Det er præcist DateDiff du skal have fat i - imho den eneste måde at
kalkulere tid på
Kombineret med TimeSerial så spiller det

mvh/Peter Lykkegaard



Jørn Andersen (02-12-2002)
Kommentar
Fra : Jørn Andersen


Dato : 02-12-02 20:17

On Mon, 2 Dec 2002 16:28:32 +0100, "Tor Lund" <mistral@it.dk> wrote:

>problem 2: det egentlige problem er her. Jeg har en acces database med nogle
>data af værdien short time.

Det er ikke *værdien*, men *formatet* der er short time. I databasen
gemmes *værdier*, men de kan fremvises i forskelige *formater*.

Dvs., at når du udtrækker af databasen, så får du *værdier*. Formatet
kan så bestemmes i VB Script af dig - eller af default-indstillinger
på server eller i script.

Humlen er, at du ikke behøver bekymre dig om databasens format, hvis
du skal bruge værdierne i dit script. Derimod skal du sikre dig i dit
script, at det er *dig* der styrer formatet.

En god hjælp på vejen er - som Jens skriver - at styre landeformatet
(LCID) som Jens angiver.
<URL: http://www.asp-faq.dk/article/?id=47>

Derudover kan du bruge FormatDateTime - se fx:
<URL: http://html.dk/tutorials/asp/lektion4.asp>

Grunden til at jeg vader rundt i forsekllen mellem værdi og format er,
at det er en af de hyppigste fejl at få rodet det sammen

>To af disse data skal trækkes fra hinanden dvs.
>10:00 - 16:00. skulle jo så give en difference på 6 timer. er der nogen der
>kan give svaret
>jeg har prøvet at rode lidt med datediff, men det er vist ikke det rigtige
>værktøs at bruge

Jo, DateDiff er normalt det helt rigtige værktøj.

Syntaksen er:
DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear]])

- ignorér de to sidste, hvis ikke du arbejder med ugedage:
DateDiff(interval, date1, date2)


Hvis du trækker de to tider ud af databasen:
datDateTime1 = rs("felt1")
datDateTime2 = rs("felt2")

- får du:
DiffTimer = DateDiff("h", datDateTime1, datDateTime2)


Du kan også trække det ud direkte med SQL:
strSql = "SELECT DateDiff('h', felt1, felt2) AS DiffTimer FROM ..."

DiffTimer = rs("DiffTimer")
(Virker i MS Access - jeg har ikke så meget styr på MySql eller MS
Sql)


Fordelen ved at lave det direkte med SQL er, at du (om muligt) er
endnu mere uafhængig af evt. forskelle mellem dato-*formatet* mellem
db og script.

Good luck!

--
Jørn Andersen,
Brønshøj

Tor Lund (03-12-2002)
Kommentar
Fra : Tor Lund


Dato : 03-12-02 11:35

tak for de rigtig gode svar. lækkert!!.

jeg har stadig ikke fået luret det med AM og PM, men datediff funktionen
fungerer perfekt nu.

mvh Tor Lund



Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste