Ergebnis 1 bis 3 von 3

Thema: Berechne Öffnungszeit beginnend vor Mitternacht bis zum nächsten Tag

  1. #1
    Meister(in) Avatar von Teron Gerofied
    Registriert seit
    26.01.2008
    Ort
    serverraum
    Alter
    26
    Beiträge
    347
    Danke
    0
    Bekam 1 mal "Danke" in 1 Posting

    Standard Berechne Öffnungszeit beginnend vor Mitternacht bis zum nächsten Tag

    Hallo,

    ich hab die folgende Aufgabe: Ich brauche eine Funktion die anzeigt, wenn ein Lokal geöffnet hat und wann nicht. Ein einfaches true/false reicht da vollkommen, die Sache ist nur die: Was ist bei Nachtclubs / Diskotheken ? Da erstreckt sich die Zeit zB von 21:00 Uhr bis 05:00 Uhr am nächsten Tag. Wie errechne ich am geschicktesten ob die aktuelle Uhrzeit in der Zeitspanne zwischen den beiden angegebenen Uhrzeiten liegt?

    Wäre für Lösungsvorschläge dankbar.

    MfG
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!
    PHP-Code:
    if(isset($this) || !isset($this)){ // that's the question... 

  2. #2
    Bandit
    Gast

    Standard AW: Berechne Öffnungszeit beginnend vor Mitternacht bis zum nächsten Tag

    Zitat Zitat von Teron Gerofied Beitrag anzeigen
    ich hab die folgende Aufgabe
    Machen wir hier deine Hausaufgaben oder deinen Job?

    Kurz nachgedacht und schon könnte man der Meinung sein, das Timestamps prima zum Rechnen geeignet sind. Jetzt muss man nur noch überlegen, wie man die Uhrzeiten passend zum Tag hinbekommt und schon ist man fertig!
    Ungetestet:
    PHP-Code:
    <?php

        
    function is_open($start$ende)
        {
            
    $result false;

            
    // Heute 0 Uhr und eine Sekunde
            
    $tag mktime(0,0,1date("n"), date("j"), date("Y"));

            
    $t1 $tag $start;

            
    // Wenn Endezeit kleiner ist, dann einen Tag weiter
            
    if ($ende $start)
               
    $t2 $tag 86400 $ende;
            else
               
    $t2 $tag $ende;

            if (
    $t1 <= time() && $t2 >= time())
               
    $result true;

            return 
    $result;
        }

        
    $start 18000// 5 Uhr morgens in Sekunden

        
    $ende 54000;  // 15 Uhr mittags in Sekunden

        
    if (is_open($start$ende))
          echo 
    "Offen";
        else
          echo 
    "Geschlossen";

        echo 
    "<br>";
        
        
    $start 54000;  // 15 Uhr mittags in Sekunden

        
    $ende 18000// 5 Uhr morgens in Sekunden

        
    if (is_open($start$ende))
          echo 
    "Offen";
        else
          echo 
    "Geschlossen";
    ?>
    <edit>
    Wo ich gerade diesen Thread nochmal sehe, da fehlt noch was. Man kann nicht einfach einen Tag dazuaddieren, man muss wissen, ob man sich in Tag x oder y befindet. Aber das kannst du ja selber einbauen
    </edit>
    Geändert von Bandit (20.06.2012 um 22:26 Uhr)

  3. #3
    Meister(in)
    Themenstarter
    Avatar von Teron Gerofied
    Registriert seit
    26.01.2008
    Ort
    serverraum
    Alter
    26
    Beiträge
    347
    Danke
    0
    Bekam 1 mal "Danke" in 1 Posting

    Standard AW: Berechne Öffnungszeit beginnend vor Mitternacht bis zum nächsten Tag

    Weder noch - einen Bruchteil meines Projekts :b (aus der Zeit wo ich Hausaufgaben mache bin ich mit 21 schon länger draußen ^^)

    Wie so oft hab ich es mal wieder 20 Minuten nachdem ich diesen Thread erstellt hab selbst geschafft, komplett in SQL ohne PHP zu "missbrauchen" - verringert die Abfragegröße und soweit ich mich erinnern kann ist SQL schneller - ist eine ziemlich brutal große IF() Sache - sie hat zwar nur ein If aber sehr viele AND und OR drinnen

    Meine weiterführende Frage wäre eher theoretischer Natur: Wie sehr leidet die Datenbank unter solchen Abfragen ?
    IF( e.`event_datetime` AND OR ( AND AND OR ) OR ( ( AND AND OR ) ) ...., 1, 0)

    So ungefähr sieht die Kette aus, damit man sich vorstellen kann wie das mit den AND und OR Abfragen gemeint ist - es wird zwar nur mit insgesamt zwei Spalten gerechnet (event_datetime und event_datetime_end) -> Wie sehr tut so eine Abfrage der Datenbank weh ? SQL sagt, daß die Abfrage 0,0006 Sekunden braucht für 4 Einträge. Es werden aber am Ende wohl um die 5000 sein...

    Meine zweite Frage wäre folgende: Ich habe vor per Subselects Ausnahmen für Mehrtägige Events zu machen (meine Abfrage hat ein recht komplexes System zum Handeln von mehrtägigen Events), zB: Mo - Do, immer um 14:00 Uhr - 18:00 Uhr, nur am Mi von 15:00 - 18:00

    Wie ich das umsetze weiß ich, meine Frage hierzu wäre: Wie viel schmerzt so eine Subselect Abfrage die Datenbank ? Auswahlkriterium ist event_id und event_date

    Lg
    PHP-Code:
    if(isset($this) || !isset($this)){ // that's the question... 

Ähnliche Themen

  1. JavaScript: Datum des nächsten Tag anzeigen?
    Von #matthias im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 9
    Letzter Beitrag: 10.02.2012, 20:01
  2. sekunden, jetzt bis zum nächsten tag
    Von im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 5
    Letzter Beitrag: 09.09.2007, 21:50
  3. Parameter von einer Seite zur nächsten
    Von asterix im Forum HTML & CSS Forum
    Antworten: 3
    Letzter Beitrag: 08.02.2006, 09:13
  4. Wieviele Beiträge am 31.12.2004, Mitternacht
    Von umbenannt im Forum Off Topic und Quasselbox
    Antworten: 7
    Letzter Beitrag: 02.01.2004, 15:32
  5. *nächsten Stern haben will* *mecker*
    Von umbenannt im Forum Forum-Hilfe.de intern
    Antworten: 4
    Letzter Beitrag: 18.03.2003, 22:41

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •