Hannes Weninger: Unterschiedliche Anzahl von Zeiten in einer Zeile anzeigen

Hallo,

ich versuche gerade, unterschiedliche Anzahlen von Zeiten neben dem Wochennamen anzuzeigen und als letzte "Spalte" dann die Summe. Ich habe meinen Sachverhalt mal in JSFiddle nachgebildet: Mein Fiddle Beispiel Mit einer Tabelle komm ich meiner Meinung nach nicht weiter, da die Anzahl der Zeiten pro Tag unterschiedlich sein kann und auch gar keine Zeiten vorkommen können.

Ich wäre sehr dankbar für Hilfe in diese Richtung.

Vielen Dank! Hannes

  1. Hallo Hannes Weninger,

    Gehe ich recht in der Annahme, dass es deutlich mehr um eine JavaScriptfrage handelt, als um HTML und CSS? Ich ändere mal die Tags

    Bis demnächst
    Matthias

    --
    Das Geheimnis des Könnens liegt im Wollen. (Giuseppe Mazzini)
  2. Tach!

    ich versuche gerade, unterschiedliche Anzahlen von Zeiten neben dem Wochennamen anzuzeigen und als letzte "Spalte" dann die Summe. Ich habe meinen Sachverhalt mal in JSFiddle nachgebildet: Mein Fiddle Beispiel Mit einer Tabelle komm ich meiner Meinung nach nicht weiter, da die Anzahl der Zeiten pro Tag unterschiedlich sein kann und auch gar keine Zeiten vorkommen können.

    Warum nicht? In die erste Spalte die Wochentage, in die dritte die Summe. Und dazwischen eine Auflistung der Elemente unbekannter Anzahl.

    dedlfix.

    1. Danke für eure Antworten,

      Ich bin nicht ganz sicher, ob ich deine Antwort richtig verstanden hab. Du meinst, dass ich für jeden Wochentag eine eigene Tabelle erzeuge bzw. könntest du das vielleicht noch ein bisschen genauer erklären - ich befürchte ich steh gerade ein bisschen auf dem Schlauch.

      Vielen Dank! Hannes

      PS: es geht mir nur um das HTML/CSS

      1. Hallo Hannes Weninger,

        PS: es geht mir nur um das HTML/CSS

        Das kommt in deinem Fiddel aber überhaupt nicht zum Ausdruck.

        Dann musst du mal beschreiben, welche Inhalte du darstellen möchtest. Danach richtet sich das Markup. Und zwar deutlicher als „unterschiedliche Anzahlen von Zeiten neben dem Wochennamen anzuzeigen und als letzte "Spalte" dann die Summe.“

        Bis demnächst
        Matthias

        --
        Das Geheimnis des Könnens liegt im Wollen. (Giuseppe Mazzini)
      2. Tach!

        Du meinst, dass ich für jeden Wochentag eine eigene Tabelle erzeuge

        Nein, ich meine:

        Wochentag | Zeiten | Summe Montag| 1:00, 2:00, 3:00 | 42 Dienstag | | 0 Mittwoch | 6:15 | 23

        dedlfix.

        1. Hallo,

          danke für die Antworten. Ich geb zu, dass aus dem jsfiddle meine Fragestellung nicht herauskommt, deshalb hab ich ein Image gezeichnet, wie die Auflistung aussehen sollte:

          Mein Problem mit den Zeiten

          vielleicht kann mir noch jemand einen Hinweis geben, wie ich das so hinbekommen kann. Ich habs gestern noch versucht, aber ich scheitere daran, dass die Anzahl der Zeiten (horizontal) variable ist. Ich bin dankbar für jeden Hinweis.

          Vielen Dank! Hannes

          1. Tach!

            Ich geb zu, dass aus dem jsfiddle meine Fragestellung nicht herauskommt, deshalb hab ich ein Image gezeichnet, wie die Auflistung aussehen sollte:

            Mein Problem mit den Zeiten

            Das entspricht doch genau meiner Tabelle.

            vielleicht kann mir noch jemand einen Hinweis geben, wie ich das so hinbekommen kann.

            Die Zeiten kommen in Elemente mit display: inline-block und einer vorgegebenen Breite plus rechts und links Abstand.

            dedlfix.

            1. Danke für deine Antwort, ich werd versuchen, dass ichs so hinbekomm (bin aber nicht sicher :-() Danke!

              1. Tach!

                Die Zeiten kommen in Elemente mit display: inline-block und einer vorgegebenen Breite plus rechts und links Abstand. ich werd versuchen, dass ichs so hinbekomm (bin aber nicht sicher :-()

                Ich sehe grad, das ist noch etwas uneindeutig formuliert. Besser wird es mit dem Wörtchen jeweils. „Die Zeiten kommen jeweils in Elemente …“

                dedlfix.

                1. Hallo,

                  ich habs tatsächlich geschafft :-)

                  Mein Beispiel

                  eine kleine unschönheit ist noch drinnen, da die bereiche nicht ganz gleich groß sind.ö Kann man da noch was machen?

                  Danke! Hannes

                  1. Tach!

                    eine kleine unschönheit ist noch drinnen, da die bereiche nicht ganz gleich groß sind. Kann man da noch was machen?

                    Ich würde mit display:inline-block und width:… anfangen zu experimentieren

                    dedlfix.

  3. Moin!

    Ich wäre sehr dankbar für Hilfe in diese Richtung.

    Ok. Bevor Du angular Js anwendest, lerne etwas über Zeitobjekte und Arrays. Dein Problem mit der Addition kannst Du genial einfach wie folgt lösen:

    fastix@trainer:~$ node
    
    > date_open = new Date("Jan 1 1970 9:00:00 +01:00");
    
    Thu Jan 01 1970 09:00:00 GMT+0100 (CET)
    
    > date_close = new Date("Jan 1 1970 12:00:00 +01:00");
    
    Thu Jan 01 1970 12:00:00 GMT+0100 (CET)
    
    > delta. getUTCHours()
    
    3
    
    > delta. getUTCMinutes()
    
    0
    

    Dies ist in node.js getippt. Das gibt im Terminal die Rückgabe in der Zeile unter dem Befehl aus.

    Jörg Reinholz

    1. Moin!

      Da fehlte was:

      fastix@trainer:~$ node
      
      > date_open = new Date("Jan 1 1970 9:00:00 +01:00");
      
      Thu Jan 01 1970 09:00:00 GMT+0100 (CET)
      
      > date_close = new Date("Jan 1 1970 12:00:00 +01:00");
      
      Thu Jan 01 1970 12:00:00 GMT+0100 (CET)
      
      > delta=new Date(date_close-date_open)
      
      Thu Jan 01 1970 04:00:00 GMT+0100 (CET)
      
      > delta.getUTCHours()
      
      3
      
      > delta.getUTCMinutes()
      
      0
      

      Gesucht wurde: 3 Stunden und 0 Minuten.

      Verbaler Programmplan:

      Jede Zeile ist ein Arrayelement. Dieses Element Zeile ist ein Array aus Elementen (Objekten). jedes dieser Elemente enthält einen Zeitpunkt für das Öffnen und Schließen. Per Definition des Muftis liegt der Zeitpunkt des Öffnens vor dem des Schließens. (Nachtkneipe öffnet also nicht von 23:00 bis 06:00 sondern von 23:00 - 2)4:00 und von 00:00 bis 06:00)

      Hat man einem Array, dann iteriert über die Tage, dann über die Zeiten, nimmt date_open und date_close als Objekt, ermittelt das delta und summiert die Stunden und Minuten. Und zwar entweder schon wieder in einem Zeitobjekt oder man summiert die Minuten.

      Hat man die Minuten, dann kann man die Stunden wie folgt ermitteln:

      
      > minuten=290;
      
      290; 
      
      > stunden=(minuten/60);
      
      4.833333333333333
      
      > stunden=Math.floor(minuten/60);
      
      4
      
      > restminuten=minuten-stunden*60;
      
      50
      

      4 Stunden und 50 minuten war gesucht.

      Jörg Reinholz