Avatar billede htx98i17 Professor
14. januar 2006 - 16:23 Der er 36 kommentarer og
2 løsninger

omregn til sekunder/minutter

14.00 til 14.30 = 30 minutter eller 0,5 timer

Jeg har forsøgt at omregne til timer:

1400-1430 = 30
30x60/3600 = 0,5 timer

men hvis nu tiden er fra 14.30 -15.00 så ser det således ud:
1430-1500 = 70
og så kan (70)x60/3600 ikke bruges.

hvordan omregner man det?
Avatar billede jarret Nybegynder
14. januar 2006 - 16:37 #1
x = 1430

y = 1500

resultatminutter = 60(y.charAt(0,2) - x.charAt(0,2))+ y.charAt(2,4) -x.charAt(2,4)

er ikke helt sikker om man kan bruge charAt() funktionen sådan
Avatar billede jarret Nybegynder
14. januar 2006 - 16:38 #2
(mit bud (o:)
Avatar billede htx98i17 Professor
14. januar 2006 - 17:00 #3
<script language="javascript" >
           
            function beregn(obj) {
                var frm = obj.form;
               
                var x = frm.start.value;
                var y = frm.slut.value;
               
                var min = 60(y.charAt(0,2) - x.charAt(0,2))+ y.charAt(2,4) -x.charAt(2,4);

                window.status = min;
            }
        </script>

men den melder fejl "En funktion var ventet"
Avatar billede jarret Nybegynder
14. januar 2006 - 17:05 #4
hvis over 00, feks 1630 - 0520;
kunne man :

z = y.charAt(0,2) - x.charAt(0,2)

if (z<0)z = z + 24;

resultatminutter = 60 * z + y.charAt(2,4) -x.charAt(2,4)
Avatar billede htx98i17 Professor
14. januar 2006 - 17:07 #5
du har tabt mig :)
Avatar billede jarret Nybegynder
14. januar 2006 - 17:11 #6
huumm ja jeg er ikke stærk i javascritp. det er nok variabel typerne den er gal med.

tjekker lige(hvis jeg kan )
Avatar billede htx98i17 Professor
14. januar 2006 - 17:12 #7
Det er "60(y"... den er galt med. Den vil have at 60 er en funktion...
Avatar billede htx98i17 Professor
14. januar 2006 - 17:12 #8
tror jeg da :)
Avatar billede jarret Nybegynder
14. januar 2006 - 17:14 #9
det er bare hvis du vil finde minutterne fra 1630 til 0530, vil den første løsning give minus minutter.

z variablen giver antal timer (05 - 16) hvilket giver -11

så hvis time antalle bliver minus så læg 24 til
if (z<0)z = z + 24;

hvilket så giver 13,
Avatar billede jarret Nybegynder
14. januar 2006 - 17:15 #10
aahh jeg tænker bare matematik, prøv at sætte * mellem 60 og parentesen
Avatar billede htx98i17 Professor
14. januar 2006 - 17:16 #11
aahh, ja okay,

men det første du postede har jeg ikke lige gennemskuet endnu?
Avatar billede jarret Nybegynder
14. januar 2006 - 17:16 #12
men den brokker sig nok alligevel, da den regner med strings......
Avatar billede htx98i17 Professor
14. januar 2006 - 17:18 #13
jeg har nu sat * mellem 60 og parentesen og tiden indtaster jeg til 1430 til 1500 og der giver resultatet -3 og det skulle gerne blive 0.5

funktionen ser således ud:
<script language="javascript" >
           
            function beregn(obj) {
                var frm = obj.form;
               
                var x = frm.start.value;
                var y = frm.slut.value;
               
                var min = 60*(y.charAt(0,2) - x.charAt(0,2))+ y.charAt(2,4) -x.charAt(2,4);

                window.status = min;
            }
        </script>
Avatar billede jarret Nybegynder
14. januar 2006 - 17:18 #14
x = 1430

y = 1500
resultatminutter = 60(y.charAt(0,2) - x.charAt(0,2))+ y.charAt(2,4) -x.charAt(2,4)

resultatminutter = 60(15 - 14)+ 00 -30

hjælper det? (o:
Avatar billede jarret Nybegynder
14. januar 2006 - 17:21 #15
nu har jeg fundet den rigtige metode......(substr)

resultatminutter = 60(y.substr(0,2) - x.substr(0,2))+ y.substr(2,2) -x.substr(2,2)
Avatar billede htx98i17 Professor
14. januar 2006 - 17:24 #16
den regner ikke rigtig :(
ved kommentar 17:21 giver resultatet 5970
Avatar billede jarret Nybegynder
14. januar 2006 - 17:26 #17
nej.. matamatisk mener jeg det er rigtigt. det er programeringen den er gal med. har en løsning om to sek jeg tror der virker....men er lidt langhåret (o:
Avatar billede jarret Nybegynder
14. januar 2006 - 17:32 #18
x = 1430

y = 1500


x = x + ''

y = y + ''


xtimer = parseInt(x.charAt(0,2))

xminutter = parseInt(x.charAt(2,2))

ytimer = parseInt(y.charAt(0,2))

yminutter = parseInt(y.charAt(2,2))



resultatminutter = 60(ytimer - xtimer)+ yminutter -xminutter
Avatar billede jarret Nybegynder
14. januar 2006 - 17:33 #19
giver det mening?
Avatar billede jarret Nybegynder
14. januar 2006 - 17:34 #20
aaarrr vups 1 sek
Avatar billede jarret Nybegynder
14. januar 2006 - 17:34 #21
x = 1430

y = 1500


x = x + ''

y = y + ''


xtimer = parseInt(x.substr(0,2))

xminutter = parseInt(x.substr(2,2))

ytimer = parseInt(y.substr(0,2))

yminutter = parseInt(y.substr(2,2))



resultatminutter = 60(ytimer - xtimer)+ yminutter -xminutter
Avatar billede jarret Nybegynder
14. januar 2006 - 17:39 #22
funktionen ser således ud:
<script language="javascript" >
           
            function beregn(obj) {
                var frm = obj.form;

        //konvatere til string variable
               
                var x = frm.start.value + '';
                var y = frm.slut.value + '';



        var xtimer = parseInt(x.substr(0,2))

        var xminutter = parseInt(x.substr(2,2))

        var ytimer = parseInt(y.substr(0,2))

        var yminutter = parseInt(y.substr(2,2))

        var min = 60*(ytimer - xtimer)+ yminutter -xminutter;

                window.status = min;
            }
        </script>
Avatar billede htx98i17 Professor
14. januar 2006 - 17:39 #23
det hjalp lidt på det.

dog kan den ikke f.eks. 8.30 til 12.00
Avatar billede jarret Nybegynder
14. januar 2006 - 17:40 #24
funktionen ser således ud:
<script language="javascript" >
           
            function beregn(obj) {
                var frm = obj.form;

        //konvatere til string variable
               
                var x = frm.start.value + '';
                var y = frm.slut.value + '';



        var xtimer = parseInt(x.substr(0,2));

        var xminutter = parseInt(x.substr(2,2));

        var ytimer = parseInt(y.substr(0,2));

        var yminutter = parseInt(y.substr(2,2));

        var min = 60*(ytimer - xtimer)+ yminutter -xminutter;

                window.status = min;
            }
        </script>
Avatar billede jarret Nybegynder
14. januar 2006 - 17:45 #25
funktionen ser således ud:
<script language="javascript" >
           
            function beregn(obj) {
                var frm = obj.form;

        //konvatere til string variable
               
                var x = frm.start.value + '';
                var y = frm.slut.value + '';

        if (x.length = 3) x = '0' + x;

        if (y.length = 3) x = '0' + x;



        var xtimer = parseInt(x.substr(0,2));

        var xminutter = parseInt(x.substr(2,2));

        var ytimer = parseInt(y.substr(0,2));

        var yminutter = parseInt(y.substr(2,2));

        var min = 60*(ytimer - xtimer)+ yminutter -xminutter;

                window.status = min;
            }
        </script>
Avatar billede jarret Nybegynder
14. januar 2006 - 17:46 #26
det bliver lidt langhåret...(o: der er måske en nemmere løsning....

<script language="javascript" >
           
            function beregn(obj) {
                var frm = obj.form;

        //konvatere til string variable
               
                var x = frm.start.value + '';
                var y = frm.slut.value + '';

        if (x.length = 3) x = '0' + x;

        if (y.length = 3) y = '0' + y;



        var xtimer = parseInt(x.substr(0,2));

        var xminutter = parseInt(x.substr(2,2));

        var ytimer = parseInt(y.substr(0,2));

        var yminutter = parseInt(y.substr(2,2));

        var min = 60*(ytimer - xtimer)+ yminutter -xminutter;

                window.status = min;
            }
        </script>
Avatar billede jarret Nybegynder
14. januar 2006 - 17:48 #27
med "over midnat"

funktionen ser således ud:
<script language="javascript" >
           
            function beregn(obj) {
                var frm = obj.form;

        //konvatere til string variable
               
                var x = frm.start.value + '';
                var y = frm.slut.value + '';

        if (x.length = 3) x = '0' + x;

        if (y.length = 3) y = '0' + y;



        var xtimer = parseInt(x.substr(0,2));

        var xminutter = parseInt(x.substr(2,2));

        var ytimer = parseInt(y.substr(0,2));

        var yminutter = parseInt(y.substr(2,2));


        var z = ytimer - xtimer;

        if (z<0)z = z + 24;


        var min = 60*z + yminutter -xminutter;

                window.status = min;
            }
        </script>
Avatar billede htx98i17 Professor
14. januar 2006 - 17:48 #28
den regner desværre ikke rigtig :(
eksempelvis 14.30-15.00 giver 7
Avatar billede jarret Nybegynder
14. januar 2006 - 17:53 #29
kan du ikke prøve at "printe" nogle af variablerne? for at se hvor det går galt, jeg bliver desværre nød til at gå, håber du finder en løsning. eller luk og opret spørgsmålet igen det kan jo være den er en der har en færdig løsning(0:
held og lykke. jeg holder stadig på det er matematisk korrekt (o:
Avatar billede htx98i17 Professor
14. januar 2006 - 17:55 #30
tak for hjælpen, det kan være der er en der overtager :)
Avatar billede roenving Novice
15. januar 2006 - 05:12 #31
Brug et Date-objekt !o]

-- opret et nyt objekt for hvert tidspunkt (regulér evt. for dato og træk tiden fra hinanden !-)

F.eks.

<script type="text/javascript">
var tidspunkt1 = "7:45";
var tidspunkt2 = "15:00";

var t1 = tidspunkt1.split(/[:\.]/);//del op med enten . eller :
var t2 = tidspunkt2.split(/[:\.]/);

var tid1 = new Date();
var tid2 = new Date();

tid1.setHours(t1[0]);
tid1.setMinutes(t1[1]);

tid2.setHours(t2[0]);
tid2.setMinutes(t2[1]);

var diff = Math.abs(tid1.getTime() - tid2.getTime());
var diffMin = Math.floor(diff / (1000*60));

alert(diffMin);
</script>
Avatar billede htx98i17 Professor
15. januar 2006 - 09:08 #32
roenvings virker :)
Jeg vil gerne give jarret noget for den tid han har brugt.

Vil I lave et svar?
Avatar billede jarret Nybegynder
15. januar 2006 - 10:31 #33
tak for tilbudet, men jeg syntes den går til roenvings (0:
Avatar billede jarret Nybegynder
15. januar 2006 - 10:34 #34
af ren nysgerrighed, kan du, roenvings, se hvor den er gal med det vi endte ud med?
Avatar billede roenving Novice
16. januar 2006 - 04:11 #35
Er det ikke fordi deletegnet ikke er medtænkt i udregningen ?-)

-- og jeg synes da at en deler er helt rimelig, specielt da det ikke for mig ligner et spørgsmål, der er meget sværere end svært og jarret jo har ofret en del kræfter på at knække nøden !-)

Velbekomme '-)
Avatar billede htx98i17 Professor
16. januar 2006 - 07:55 #36
jarret -> lav et svar :)
Avatar billede jarret Nybegynder
16. januar 2006 - 09:14 #37
ok, så tak da(o:
Avatar billede roenving Novice
16. januar 2006 - 17:11 #38
-- og tak for point ;~}
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