Just nu i M3-nätverket
Jump to content

Tid till midnatt ?


Gunnar Slott

Recommended Posts

Har någon nån bra ide hur man räknar ut det? Skulle vilja ställa intervallen på en timer så att den aktiveras vid midnatt.

Har tittat på DateDiff och DateAdd funktionerna men inte lyckats lösa problemet.

 

TIA Gunnar

Link to comment
Share on other sites

Typ nåt sånt här då:

 

nu = TimeOfDay

timmarKvarTillMidnatt = 23 - Hour(nu)

minuterKvarTillMidnatt = 60 - Minute(nu)

sekunderKvarTillMidnatt = 60 - Second(nu)

 

/TN

 

 

[inlägget ändrat 2002-09-30 11:57:10 av Don Tomas]

[inlägget ändrat 2002-09-30 12:02:26 av Don Tomas]

Link to comment
Share on other sites

Jaja, lite får man ju(h) kolla/prova själv.

Det är nog likadant med sekunderKvarTillMidnatt

 

/TN

 

 

[inlägget ändrat 2002-09-30 20:23:00 av Don Tomas]

Link to comment
Share on other sites

Det är nog likadant med sekunderKvarTillMidnatt

njae, inte egentligen. Det bör vara 60.

Om du är på den 58:e sekunden så är det ju två sekunder kvar, alltså 60-58.

Men om du hade räknat med 100-delar också så skulle du haft 59 istället för 60.

 

\\Anp

 

- Varför göra det idag, det du skulle gjort igår?

 

Link to comment
Share on other sites

OK. Du har väl rätt då :)

 

Om nu=23:59:59 så blir det

timmarKvarTillMidnatt=23-Hour(nu) = 0

minuterKvarTillMidnatt=59-Minute(nu) = 0

sekunderKvarTillMidnatt=60-Second(nu)=1

00:00:01

 

Fast det skiter sig när klockan är 00:00:00

då blir det 23:59:60 kvar till midnatt.

 

Hmmm, knepigt det där, det blir ju fel vid varje 00 sekund.

Fast detta är ju ett knuffairättriktningsforum så jag överlåter till kunden att justera med eventuella if-satser.

 

/TN

 

 

Link to comment
Share on other sites

  • 3 weeks later...
Stefan B Karlsson

Har inte VB på datorn jag sitter på nu, men det borde vara något sånt här:

SekunderKvar=datediff("s",now,year(now)& "-" & month(now) & day(now) & " 24:00")

Timer1.interval=s*1000

 

eventuellt får man byta plats på start och stoppdatumet.

 

 

Fast det bästa vore väl att sätta en timers interval till 1000 och varje sekund kolla om det är midnatt. Då kan man även ha en fin räknare som varje sekund visar när nästa "körning" ska gå, som räknas ner.

 

 

 

Link to comment
Share on other sites

Stefan B Karlsson

Rättning:

SekunderKvar=datediff("s",now,year(now)& "-" & month(now) & "-" & day(now) & " 24:00")

 

 

Link to comment
Share on other sites

  • 2 months later...
Niklas Brolin

Men detta blir förmodlingen inte helt rätt, tiden blir olika i jämnfört med Timern och på klockan i datorn.

 

Jag tycker att det är bättre att räkna ut Tiden fram till midnatt.

 

/ Niklas Brolin

 

Link to comment
Share on other sites

Stefan B Karlsson

Det bästa är att sätta en timers interval til 1000, sen i varje interval testa om det är nytt datum, i så fall är det midnatt och man startar den processen det var fråga om..

 

Det är ju helt fel approach att räkna ut hur lång stund det är till midnatt och sen sätta ett intervall på den tiden på en timer. Vad händer då om någon ändrar på klockan på datorn? Nä, det borde nog checkas varje sekund.

;-)

 

mvh /

Stefan Karlsson

ITmaskinen.se

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...