Avatar billede andreas13_fam Nybegynder
09. november 2008 - 14:54 Der er 5 kommentarer og
1 løsning

javascript som kan lægge 2 klokkeslæt sammen

Jeg søger et javascript som kan lægge 2 klokkeslæt sammen.
Det skal kunne understøtte dag, time, minut, sekund.
Jeg håber meget at der er nogen der kan hjælpe mig med det.
Avatar billede Slettet bruger
09. november 2008 - 15:05 #1
du kan omskrive de 2 tidspunkter i timestamps med funktionen "Date.parse()", ligge dem sammen og hente resultatet ud ved brug af "Date" classen.
Ellers kan du også opdele tidspunkterne i timer, minutter og sekunder. Bagefter ligge dem sammen og så udregne det nye tidspunkt.
Avatar billede tjens Nybegynder
09. november 2008 - 16:24 #2
Jeg ved ikke om jeg har forstået begrebet "klokkeslet" korrekt? Men prøv at teste dette:

<html><head>
<title>Time adder</title>
<script type="text/javascript">

function addTime(T1, T2) {
    var TA1 = T1.split(":");
    var TA2 = T2.split(":");
    var T3 = "";
    var len2 = "";
    var x;
   
    x = parseInt(TA1[3] )+parseInt(TA2[3]);
    while (x > 59) {
        x = x-60;
        TA1[2]++
    }
    if (x < 10)
        len2 = "0" + x;
    else
        len2 =  x;
    T3 = ":" +len2;

    x = parseInt(TA1[2] )+parseInt(TA2[2]);
    while (x > 59) {
        x = x-60;
        TA1[1]++
    }
    if (x < 10)
        len2 = "0" + x;
    else
        len2 =  x;
    T3 = ":" +len2 + T3;
   
    x = parseInt(TA1[1] )+parseInt(TA2[1]);
    while (x > 23) {
        x = x-24;
        TA1[0]++
    }
    if (x < 10)
        len2 = "0" + x;
    else
        len2 =  x;
    T3 = ":" +len2 + T3;
   
    x = parseInt(TA1[0] )+parseInt(TA2[0]);
    T3 = x + T3;

    return T3;
}
</script></head>
<body><pre>
<form name="form">
Input 1  <input name="fT1" type="text" value="1:21:34:56"/><br />
Input 2  <input name="fT2" type="text" value="2:23:54:44"/><br />
Result  <input name="fT3" type="text"  readonly/><br />
        <input name="fKnap" type="button" value="Add Time" onclick="form.fT3.value=addTime(form.fT1.value, form.fT2.value); return false">
</form>
</pre></body></html>
Avatar billede andreas13_fam Nybegynder
09. november 2008 - 18:35 #3
@roxki
Der er muligt, men jeg er ikke stand til at lave noget selv, jeg forstår det kun.
@tjens
Det ser rigtig godt ud, så du for de 200 point.
Men ok med klokkeslæt, mener jeg tidspunkt. Hvor dag, timer, minuter og sekunder ingår.
Avatar billede andreas13_fam Nybegynder
09. november 2008 - 18:46 #4
Sorry vil der være muligt at lave det sådan at man kan skive det ind sådan.
dag-timer:minuter:sekunder
Avatar billede tjens Nybegynder
09. november 2008 - 19:27 #5
dag-timer:minuter:sekunder

<html>
<head>
<title>Time adder</title>
<script type="text/javascript">

function addTime(T1, T2) {
    var TA1 = T1.replace("-", ":").split(":");
    var TA2 = T2.replace("-", ":").split(":");
    var T3 = "";
    var len2 = "";
    var x;
   
    x = parseInt(TA1[3] )+parseInt(TA2[3]);
    while (x > 59) {
        x = x-60;
        TA1[2]++
    }
    if (x < 10)
        len2 = "0" + x;
    else
        len2 =  x;
    T3 = ":" +len2;

    x = parseInt(TA1[2] )+parseInt(TA2[2]);
    while (x > 59) {
        x = x-60;
        TA1[1]++
    }
    if (x < 10)
        len2 = "0" + x;
    else
        len2 =  x;
    T3 = ":" +len2 + T3;
   
    x = parseInt(TA1[1] )+parseInt(TA2[1]);
    while (x > 23) {
        x = x-24;
        TA1[0]++
    }
    if (x < 10)
        len2 = "0" + x;
    else
        len2 =  x;
    T3 = len2 + T3;
   
    x = parseInt(TA1[0] )+parseInt(TA2[0]);
    T3 = x + "-" + T3;

    return T3;
}
</script>
</head>
<body><pre>
<form name="form">
Input 1  <input name="fT1" type="text" value="1-21:34:56"/><br />
Input 2  <input name="fT2" type="text" value="2-23:54:44"/><br />
Result  <input name="fT3" type="text"  readonly/><br />
        <input name="fKnap" type="button" value="Add Time" onclick="form.fT3.value=addTime(form.fT1.value, form.fT2.value); return false">
</form>
</pre></body></html>
Avatar billede roenving Novice
10. november 2008 - 16:38 #6
>>tjens

-- du kan også bruge regexps i .split, så det kan forkortes til:

var TA1 = T1.split(/[-:]/);
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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