Avatar billede tidsrejse-frede Nybegynder
16. august 2003 - 21:48 Der er 15 kommentarer og
1 løsning

Subtraktion af tidspunkter?

Hej alle!
Jeg sidder og bakser med 2 tidspunkter i en Access-database, som jeg på en eller anden måde skal have trukket fra hinanden. Da jeg ikke er den helt store haj til ASP, og da ingen af mine ASP-bekendte kunne hjælpe, måtte jeg jo spørge her.

Jeg har prøvet med:
<% Response.write int(rs("Solen op")-rs("Solen ned")) %>

Men med denne får jeg kun udskrevet et -1

Jeg håber der en venlig sjæl, som evt. kan hjælpe mig!

:)
Avatar billede eagleeye Praktikant
16. august 2003 - 21:50 #1
Hviket format har de to tider er det klokkeslæt eller dato/klokkeslæt?
Avatar billede tidsrejse-frede Nybegynder
16. august 2003 - 21:52 #2
Det skal tilføjes, at der i databasen, er lavet et døgn på præcis 2 timer.
Avatar billede tidsrejse-frede Nybegynder
16. august 2003 - 21:54 #3
Eh... Jeg ved ikke helt hvad du mener med format, men der står i db'en kun et tidspunkt, for hver kolonne, og INGEN ledsagende dato...
Avatar billede hossein Nybegynder
16. august 2003 - 21:55 #4
<%@ Language=VBScript %>
<html>
<body>
<%
solenned=23
solenop=14
a = solenned-solenop
Response.write a
%>
</body>
</html>
Avatar billede tidsrejse-frede Nybegynder
16. august 2003 - 21:58 #5
Eh, Hossein, konceptet er godt, men da dagens længde jo variere noget året rundt, skal den jo udhente de indtastede data fra databasen...

Kan man evt. bruger samme system, og så bare indtaster rs("Solen op") i stedet for 23, og rs("Solen ned") som alternativ til 14?

Kan man det?
Avatar billede eagleeye Praktikant
16. august 2003 - 21:59 #6
ok så der står måske sådan her:  08:35 og 18:49

Men du kan ikke direket trækker på tidspunkter fra hinanden så du må lave enfuntion til det eks som denne:

function TimeCalc(StartTime, FinishTime)
Dim diff, mins, hours, secs
diff = datediff("s",StartTime,FinishTime)
hours = int(diff / (60*60))
mins = Int(60*(diff / (60*60) - hours))
secs = Int(diff - ((60*60)* hours) - (60 * mins))
hours = Right("0" & hours,2)
mins = Right("0" & mins,2)
secs = Right("0" & secs,2)
TimeCalc = hours & ":" & mins & ":" & secs
end function



og udsskrive det sådan her:

Response.Write TimeCalc(Cdate(rs("solen op")),Cdate(rs("solen ned")))
Avatar billede tidsrejse-frede Nybegynder
16. august 2003 - 22:02 #7
Meget smart, Eagleeye...

Angiver, TimeCalc(StartTime, FinishTime) recordsettet i db'en?
Avatar billede eagleeye Praktikant
16. august 2003 - 22:04 #8
Nej det er en function du skal ligge i din kode:

<html>
..
..
</html>
<% funktioner her
function TimeCalc(StartTime, FinishTime)
Dim diff, mins, hours, secs
diff = datediff("s",StartTime,FinishTime)
hours = int(diff / (60*60))
mins = Int(60*(diff / (60*60) - hours))
secs = Int(diff - ((60*60)* hours) - (60 * mins))
hours = Right("0" & hours,2)
mins = Right("0" & mins,2)
secs = Right("0" & secs,2)
TimeCalc = hours & ":" & mins & ":" & secs
end function
%>



------------
I sted et for denne:
<% Response.write int(rs("Solen op")-rs("Solen ned")) %>

Bruger du denne for at udskrive forskellen imellem de to tidspunkter
<% Response.Write TimeCalc(Cdate(rs("solen op")),Cdate(rs("solen ned"))) %>
Avatar billede tidsrejse-frede Nybegynder
16. august 2003 - 22:08 #9
Hossein:

Jeg prøvede for sjov skyld, at indsætte:
<% solenned = rs("Solen ned")
  solenop = rs("Solen op")
  a = solenned-solenop
  Response.write a
%>

Jeg fik følgende resultat, som man jo ikke kunne bruge til så meget... :P
-8,40277777777778E-02
Avatar billede tidsrejse-frede Nybegynder
16. august 2003 - 22:09 #10
Eagleeye:

Det må du undskylde... Havde ikke bemærket det!! tak tak!
Avatar billede tidsrejse-frede Nybegynder
16. august 2003 - 22:11 #11
Skal jeg lægge funktionen i Head-sektinen, eller er det ligemeget i denne situation, tror du?
Avatar billede tidsrejse-frede Nybegynder
16. august 2003 - 22:17 #12
Eagleeye: Weeeheww!!

Det hlalp!! Du har på ærligvis fortjænt 60 points... :)
Avatar billede tidsrejse-frede Nybegynder
16. august 2003 - 22:18 #13
...og et lagkagelys...
Avatar billede eagleeye Praktikant
16. august 2003 - 22:19 #14
Det betyder ikke noget hvor den ligge. Da det er en serverside ASP funktion.
Når det Javascript som bruges i browseren er der noget med de skal ligge i <head> tagen.
Avatar billede eagleeye Praktikant
16. august 2003 - 22:19 #15
Ok ;) hmm kom vist lidt for sendt med den sidste kommentar ;)
Avatar billede tidsrejse-frede Nybegynder
16. august 2003 - 22:23 #16
hehe... Skidt med det!! Jeg lagde den op i toppen af af siden, da den kom med en sytaxfejl, hvor den på daværende tidspunkt lå...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester