Zur aktuellen Uhrzeit eine Zeit addieren

der_schrobi

Grünschnabel
Hallo,
ich möchte zur aktuellen Uhzeit eine gewisse Zeit hinzu addieren. ALso beispiel ist: Aktuelle Zeit 02:38, da möchte ich 54 Minuten dazu rechnen. Es soll also dann 03:34 angezeigt werden. Ich habe schon verschiedene Sachen über YouTube und Google herausgefunden.
1.

<script type="text/javascript">

var d = new Date();

var stunde = d.getHours();

var minute = d.getMinutes();

var fahrdauer = 11



var uhrzeit = stunde + ":" + minute + fahrdauer


document.write(uhrzeit);

</script>

Da rechnet er die Zeit nicht dazu, sondern er schreibt einfach nur Zeit dahinter. Es wird also ausgegeben z.B: 2:4111 Es soll ja aber 2:52 stehen.

2.
<script type="text/javascript">

var x = new Date().getTime();
var y = new Date(x + 7*24*60*60*1000);


document.write(y);

In diesem Beispiel wird ausgegen: Sat Aug 07 2021 02:44:28 GMT+0200 (Mitteleuropäische Sommerzeit)

Hier werden zur aktuellen Uhrzeit sieben Tage dazu gerechnet. Das funktioniert. Aber ich will ja zum einen nur Minuten dazurechenen, zum anderen möchteich den ganzen anderen Text garnicht sehen (fett markiert)


</script>


Vielleicht kann mir da jemand weiterhelfen ?
Vielen Dank :)
 
Dazu ist jetzt einiges zu sagen, zunächst zu der Lösung 1:
  • Das Pluszeichen dient in Javascript nicht nur zur Addition sondern auch zum Aneinanderhängen von Strings. Daher wird die Fahrdauer einfach angehängt. Lösung indem Du die Summe in Klammern setzt, damit sie als erstes berechnet wird: var uhrzeit = stunde + ":" + (minute + fahrdauer);
  • Dann bleibt noch das Problem mit dem Überlauf: Stell dir vor, die aktuellen Minuten sind 59 und Du addierst 7 darauf. Es ergeben sich 66 und das wird so ausgegeben. Damit der Überlauf berücksichtigt wird, musst Du das so ändern:
    Code:
            var d = new Date();
            var minute = d.getMinutes();
            var fahrdauer = 11;
            d.setMinutes(minute + fahrdauer);
            var uhrzeit = d.getHours() + ":" + d.getMinutes();
  • document.write kann einige Probleme bereiten, verzichte besser darauf und schreibe das Ergebnis so in einen Container:<div id="out-time"></div> und im Javascript: document.getElementById('out-time').textContent = uhrzeit;
Und zu Lösung 2:
Hier ist das Problem, dass dieses: 24*60*60*1000 Tage ergibt statt Minuten. Versuche, es selber auf Minuten zu reduzieren.
 
Zuletzt bearbeitet:
Danke Dir für die schnelle Antwort. Deine Hinweise zu Lösung 1, haben wir geholfen. Nun macht das Script was ich will. Das hilft mir bei meinem Projekt weiter. Besten Dank dafür!
 
Zurück