Ergebnis 1 bis 20 von 288

Thema: Allgemeiner Fragenthread II

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    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.

  2. #2
    $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 />'

  3. #3

Berechtigungen

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