Ergebnis 1 bis 20 von 288

Thema: Allgemeiner Fragenthread II

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Hallo zusammen,
    Ich würde gerne News sortieren. (MySQL Abfrage)
    Und zwar würde ich sie gerne in die Kategorien "News dieser Woche" & "news Letzter Woche" einordnen, wobei jede woche mit dem entsprechenden Montag anfangen muss (demnach nicht einfach -7 Tage)
    Heute ist der 16. also würden unter "News dieser Woche" diese Tage 10.-16. , und bei "News letzter Woche" die tage 3.-10. einbezogen werden.

    Wie könnte das funktionieren?
    Eigentlich muss ich lediglich den letzten bzw. vorletzten Montag um 0.00 Uhr in einen Timestamp umwandeln, habe aber leider keine Ahnung, wie das geht, den Rest pack ich selbst.

  2. #2
    Mit mktime() bekommst du deinen Timestamp und mit date('w') den aktuellen Wochentag. Du könntest zum Beispiel einen Timestamp vom aktuellen Tag um 00:00 machen (mithilfe von mktime() und date()) und dann $tage * 24 * 60 * 60 davon abziehen

  3. #3
    Zitat Zitat von Manni Beitrag anzeigen
    Mit mktime() bekommst du deinen Timestamp und mit date('w') den aktuellen Wochentag. Du könntest zum Beispiel einen Timestamp vom aktuellen Tag um 00:00 machen (mithilfe von mktime() und date()) und dann $tage * 24 * 60 * 60 davon abziehen
    Danke für die Hilfestellung
    Aber woher soll ich wissen, wieviele Tage genau abgezogen werden müssen?

  4. #4
    Zitat Zitat von Antares Beitrag anzeigen
    Danke für die Hilfestellung
    Aber woher soll ich wissen, wieviele Tage genau abgezogen werden müssen?
    Durch date('w').
    PHP-Code:
    $tage date('w'$timestamp) - 1;
    if (
    $tage 0) {
        
    $tage 6;

    Dürfte funktionieren.

  5. #5
    Zitat Zitat von drunken monkey Beitrag anzeigen
    Durch date('w').
    PHP-Code:
    $tage date('w'$timestamp) - 1;
    if (
    $tage 0) {
        
    $tage 6;

    Dürfte funktionieren.
    Weiß auch nicht, aber irgendwie blicke ich da nicht ganz durch.
    Was ist denn $timestamp? Der Timestamp zum aktuellen Zeitpunkt?
    Die Sache ist doch die, dass ich nicht weiß wieviele Tage ich vom aktuellen Tag abziehen muss, bis ich den Montag erreiche.
    Und mit -1 wird lediglich ein Tag zurückgegangen.

  6. #6
    $timestamp ist der Timestamp vom aktuellen Tag um 00:00 Uhr. Mit date('w') bekommst du den aktuellen Wochentag zwischen 0 (Sonntag) und 6 (Samstag). Wenn du jetzt von $timestamp diese Tag abziehst, hättest du den Anfangstimestamp für eine Woche, die mit einem Sonntag anfängt. Willst du eine Woche ab Montag, dann musst du einen Tag weiter gehen, also (date('w') - 1) % 7 rechnen (wenn ich mich nicht irre). Die Anzahl der Tage rechnest du dann in Sekunden um ($tage * 24 * 60 * 60) und ziehst die von $timestamp ab. Fertig.

    Hier das ganze mal in eine Funktion verpackt:
    PHP-Code:
    function week_timestamp($timestamp null$firstday 1)
    {
      if(
    is_null($timestamp))
      {
        
    $timestamp time();
      }

      
    $timestamp mktime(000date('n'$timestamp), date('j'$timestamp), date('Y'$timestamp));

      
    $day  = (date('w'$timestamp) - $firstday) % 7;
      
    $day += ($day 0)? 0;

      return 
    $timestamp $day 24 60 60;
    }

    // Jetzt
    echo date('l, d.m.Y H:i:s').'<br />';

    // letzter Montag, 00:00
    echo date('l, d.m.Y H:i:s'week_timestamp()).'<br />';

    // letzter Sonntag, 00:00
    echo date('l, d.m.Y H:i:s'week_timestamp(null0)).'<br />';

    // letzter Samstag, 00:00 
    echo date('l, d.m.Y H:i:s'week_timestamp(null, -1)).'<br />';

    // letzter Freitag, 00:00
    echo date('l, d.m.Y H:i:s'week_timestamp(null1)).'<br />';

    // letzter Sonntag, 00:00
    echo date('l, d.m.Y H:i:s'week_timestamp(null, -14)).'<br />'

  7. #7

Berechtigungen

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