Avatar billede swiffer Nybegynder
21. oktober 2002 - 23:49 Der er 7 kommentarer og
1 løsning

Random Klokkeslet...

Hvordan kan jeg få et tilfældigt klokkeslæt (xx:xx:xx), som er mellem 2-5 timer ude i fremtiden?
Det skal være inden klokken 23:00:00.

Jeg har prøvet mig frem, men det eneste jeg kunne få, var desværre fejl .

På forhånd tak!
Avatar billede thomas_regin Nybegynder
22. oktober 2002 - 00:16 #1
Besynderligt problem, men denne lille funktion skulle kunne klare det:

<%
Randomize()
myTime = now() + (rnd * (5 / 24))
Response.Write myTime
%>

Skift 5-tallet ud med det max antal timer den skal kalkulere!

Mvh,

Thomas REgin.
Avatar billede thomas_regin Nybegynder
22. oktober 2002 - 00:34 #2
Har lige fyldt lidt mere på, nu hvor jeg fik læst dit problem rigtigt igennem:

<%
myRnd = 4 'Antallet af timer der skal kalkuleres med.
if not hour((now() + (myRnd / 24))) > 23 then 'Check, at rutinen ikke kører, hvis det kan overstige 23.00.
    Randomize()
    myTime = now() + (rnd * (myRnd / 24))
    Response.Write myTime
End If
%>

Mvh,

Thomas Regin.
Avatar billede swiffer Nybegynder
22. oktober 2002 - 15:53 #3
Jeg kan ikke få det til at virke :(

Den kan finde på at skrive et tidspunkt som kun ligger 1 minut ude i fremtiden. Det skal helst være min. 2 timer ude i fremtiden og højst 6.
Avatar billede eagleeye Praktikant
22. oktober 2002 - 21:55 #4
hvad mener du med denne:?

Det skal være inden klokken 23:00:00.
Avatar billede eagleeye Praktikant
22. oktober 2002 - 22:13 #5
Her et script som tager et tilfældt time/minut/sekund mellem 2.00.00->4.59.59 timer:


timerTil = Int((4-2+1) * rnd + 2)
minutTil = Int((59+1) * rnd)
sekundTil = Int((59+1) * rnd)

nyTid = dateAdd("h",timerTil,Time)
nyTid = dateAdd("n",minutTil,nyTid)
nyTid = dateAdd("s",sekundTil,nyTid)

Response.Write "Time: " & time & "<br>"
Response.Write "nyTid: " & nyTid


Men jeg forstår ikke hvordan de 23.00.00 kommer ind, jeg kan godt følge at den vil skrifte over 00.00.00 når man kommer tæt på midnat...
Avatar billede eagleeye Praktikant
22. oktober 2002 - 22:16 #6
Her er en hvor timer ikke kommer over 23:

randomize
timerTil = Int((5-2+1) * rnd + 2)

if Int(hour(time)) + timerTil > 23 then timerTil = 23-Int(hour(time))
nyTid = dateAdd("h",timerTil,Time)
Response.Write "nyTid: " & nyTid
Avatar billede eagleeye Praktikant
31. oktober 2002 - 10:09 #7
Var det noget du kunne bruge?
Avatar billede swiffer Nybegynder
31. oktober 2002 - 15:44 #8
Ja, tusind tak!
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