Avatar billede cygnet Praktikant
19. september 2007 - 10:59 Der er 6 kommentarer og
1 løsning

Tæller timer til næste given dag og tidspunkt

Hejsa,

Nogen der har en stump kode der kan tælle antal timer frem til næste givne tidspunkt.

f.eks.
mandag klokken 14
tirsdag klokken 13
onsdag klokken 12
torsdag klokken 15
fredag klokken 15

Hvis det så er lørdag skal den finde ud af antal timer til mandag klokken 14. Hvis der er under en time må den gerne udskrive antal minutter.

På forhånd tak.
Avatar billede sherlock Nybegynder
19. september 2007 - 11:05 #1
Vil du ikke hellere have et javascript, i stedet for asp?

http://www.hashemian.com/tools/javascript-countdown.htm
Avatar billede dstjulle Nybegynder
19. september 2007 - 11:18 #2
fedt link det kan jeg også bruge Takker
Avatar billede cygnet Praktikant
19. september 2007 - 11:22 #3
Kunne være en løsning, men der skal gerne ikke stå dage, når der er 0 dage og så skal det jo gerne automatisk lave en ny tid den tæller ned til når en give dag er overskredet.
Avatar billede sherlock Nybegynder
19. september 2007 - 11:41 #4
Det vil være ret nemt at rette scriptet, så formatteringen bliver som du vil have den.
Og TargetDate skal du sætte fra ASP, så den bestemmer du selv.
Avatar billede sherlock Nybegynder
19. september 2007 - 12:17 #5
Ny countdown.js :

/*
Author: Robert Hashemian
http://www.hashemian.com/

You can use this code in any manner so long as the author's
name, Web address and this disclaimer is kept intact.
********************************************************
Usage Sample:

<script language="JavaScript">
TargetDate = "12/31/2020 5:00 AM";
BackColor = "palegreen";
ForeColor = "navy";
CountActive = true;
CountStepper = -1;
LeadingZero = true;
DisplayFormat = "%%D%% Dage, %%H%% Timer, %%M%% Minutter, %%S%% Sekunder.";
DisplayFormat1Day = "%%D%% Dag, %%H%% Timer, %%M%% Minutter, %%S%% Sekunder.";
DisplayFormatNoDay = "%%H%% Timer, %%M%% Minutter, %%S%% Sekunder.";
DisplayFormat1Hour = "%%H%% Time, %%M%% Minutter, %%S%% Sekunder.";
DisplayFormatNoHour = "%%M%% Minutter, %%S%% Sekunder.";
DisplayFormat1Minute = "%%M%% Minut, %%S%% Sekunder.";
DisplayFormatNoMinute = "%%S%% Sekunder.";
DisplayFormat1Second = "%%S%% Sekund.";
FinishMessage = "It is finally here!";
</script>
<script language="JavaScript" src="http://scripts.hashemian.com/js/countdown.js"></script>
*/

function calcage(secs, num1, num2) {
  s = ((Math.floor(secs/num1))%num2).toString();
  if (LeadingZero && s.length < 2)
    s = "0" + s;
  return "<b>" + s + "</b>";
}

function calcagenum(secs, num1, num2) {
  return ((Math.floor(secs/num1))%num2);
}

function CountBack(secs) {
  if (secs < 0) {
    document.getElementById("cntdwn").innerHTML = FinishMessage;
    return;
  }

  if (calcagenum(secs,86400,100000) + calcagenum(secs,3600,24) + calcagenum(secs,60,60) == 0)
  {
    if (calcagenum(secs,1,60) == 1)
    DisplayStr = DisplayFormat1Second.replace(/%%S%%/g, "<b>1</b>");
    else   
    DisplayStr = DisplayFormatNoMinute.replace(/%%S%%/g, calcage(secs,1,60));
  } else
  if (calcagenum(secs,86400,100000) + calcagenum(secs,3600,24) == 0)
  {
    if (calcagenum(secs,60,60) == 1)
    DisplayStr = DisplayFormat1Minute.replace(/%%M%%/g, "<b>1</b>");
    else   
        DisplayStr = DisplayFormatNoHour.replace(/%%M%%/g, calcage(secs,60,60));
    DisplayStr = DisplayStr.replace(/%%S%%/g, calcage(secs,1,60));
  } else
  if (calcagenum(secs,86400,100000) == 0)
  {
    if (calcagenum(secs,3600,24) == 1)
    DisplayStr = DisplayFormat1Hour.replace(/%%H%%/g, "<b>1</b>");
    else   
        DisplayStr = DisplayFormatNoDay.replace(/%%H%%/g, calcage(secs,3600,24));
    DisplayStr = DisplayStr.replace(/%%M%%/g, calcage(secs,60,60));
    DisplayStr = DisplayStr.replace(/%%S%%/g, calcage(secs,1,60));
  } else
  {
    if (calcagenum(secs,86400,100000) == 1)
    DisplayStr = DisplayFormat1Day.replace(/%%D%%/g, "<b>1</b>");
    else   
        DisplayStr = DisplayFormat.replace(/%%D%%/g, calcage(secs,86400,100000));
    DisplayStr = DisplayStr.replace(/%%H%%/g, calcage(secs,3600,24));
    DisplayStr = DisplayStr.replace(/%%M%%/g, calcage(secs,60,60));
    DisplayStr = DisplayStr.replace(/%%S%%/g, calcage(secs,1,60));
  }

  document.getElementById("cntdwn").innerHTML = DisplayStr;
  if (CountActive)
    setTimeout("CountBack(" + (secs+CountStepper) + ")", SetTimeOutPeriod);
}

function putspan(backcolor, forecolor) {
document.write("<span id='cntdwn' style='background-color:" + backcolor +
                "; color:" + forecolor + "'></span>");
}

if (typeof(BackColor)=="undefined")
  BackColor = "white";
if (typeof(ForeColor)=="undefined")
  ForeColor= "black";
if (typeof(TargetDate)=="undefined")
  TargetDate = "12/31/2020 5:00 AM";
if (typeof(DisplayFormat)=="undefined")
  DisplayFormat = "%%D%% Days, %%H%% Hours, %%M%% Minutes, %%S%% Seconds.";
if (typeof(CountActive)=="undefined")
  CountActive = true;
if (typeof(FinishMessage)=="undefined")
  FinishMessage = "";
if (typeof(CountStepper)!="number")
  CountStepper = -1;
if (typeof(LeadingZero)=="undefined")
  LeadingZero = true;


CountStepper = Math.ceil(CountStepper);
if (CountStepper == 0)
  CountActive = false;
var SetTimeOutPeriod = (Math.abs(CountStepper)-1)*1000 + 990;
putspan(BackColor, ForeColor);
var dthen = new Date(TargetDate);
var dnow = new Date();
if(CountStepper>0)
  ddiff = new Date(dnow-dthen);
else
  ddiff = new Date(dthen-dnow);
gsecs = Math.floor(ddiff.valueOf()/1000);
CountBack(gsecs);
Avatar billede sherlock Nybegynder
19. september 2007 - 12:18 #6
Lille test.htm. Læg countdown.js i samme directory.

<script language="JavaScript">
TargetDate = "12/30/2007 0:17 PM";
BackColor = "white";
ForeColor = "black";
CountActive = true;
CountStepper = -1;
LeadingZero = true;
DisplayFormat = "%%D%% Dage, %%H%% Timer, %%M%% Minutter, %%S%% Sekunder.";
DisplayFormat1Day = "%%D%% Dag, %%H%% Timer, %%M%% Minutter, %%S%% Sekunder.";
DisplayFormatNoDay = "%%H%% Timer, %%M%% Minutter, %%S%% Sekunder.";
DisplayFormat1Hour = "%%H%% Time, %%M%% Minutter, %%S%% Sekunder.";
DisplayFormatNoHour = "%%M%% Minutter, %%S%% Sekunder.";
DisplayFormat1Minute = "%%M%% Minut, %%S%% Sekunder.";
DisplayFormatNoMinute = "%%S%% Sekunder.";
DisplayFormat1Second = "%%S%% Sekund.";
FinishMessage = "It is finally here!";
</script>

Test: <script language="JavaScript" src="./countdown.js"></script>
Avatar billede cygnet Praktikant
03. juni 2011 - 11:07 #7
Kan du ligge et svar?
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