[PHP] Estrarre prossimi 4 lunedì

Discussione in 'PHP' iniziata da Jensen, 6 Settembre 2018.

Tag (etichette):
  1. Jensen

    Jensen Nuovo Utente

    Registrato:
    6 Settembre 2018
    Messaggi:
    2
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Sesso:
    Maschio
    Salve, ho la necessità di estrarre dinamicamente i prossimi 4 lunedì dalla data odierna.
    Ho scritto questo:

    PHP:
    <?php
    $Lun1 
    = (strtotime("next Monday")); // timestamp del prossimo lunedì
    $Lun2 strtotime "+1 week" strtotime $Lun1 ) ); // Secondo lunedì dopo il prossimo
    $Lun3 strtotime "+2 week" strtotime $Lun1 ) ); // Terzo lunedì dopo il prossimo
    $Lun4 strtotime "+3 week" strtotime $Lun1 ) ); // Quarto lunedì dopo il prossimo
    echo ("Lunedì, " date('d/m/Y'$Lun1)) . "<br />" ;
    echo (
    "Lunedì, " date('d/m/Y'$Lun2)) . "<br />" ;
    echo (
    "Lunedì, " date('d/m/Y'$Lun3)) . "<br />" ;
    echo (
    "Lunedì, " date('d/m/Y'$Lun4)) . "<br />" ;
    ?>
    Mentre il primo me lo da corretto, dal secondo al quarto no. Sicuramente sbaglio io, ma capire dove :(
    Questo il risultato del codice:

    Lunedì, 10/09/2018
    Lunedì, 13/09/0400
    Lunedì, 20/09/0400
    Lunedì, 27/09/0400

    Grazie mille in anticipo.
     
  2. Rikk73

    Rikk73 Utente Attivo

    Registrato:
    7 Aprile 2015
    Messaggi:
    133
    Mi Piace Ricevuti:
    6
    Punteggio:
    18
    Sesso:
    Maschio
    Occupazione:
    .NET Software Developer
    Località:
    Arezzo
    prova con una cosa del genere

    Codice:
    $base = new Datetime('now');
    //echo $base->getTimestamp() . "<br />";
    
    $Lun1 = strtotime("next Monday", $base->getTimestamp());
    echo ("1 Lunedì, " . date('d/m/Y', $Lun1)) . "<br />" ;
    
    $base->add(new DateInterval("P07D"));
    
    $Lun2 = strtotime("next Monday", $base->getTimestamp());
    echo ("2 Lunedì, " . date('d/m/Y', $Lun2)) . "<br />" ;
    
     
  3. otto9due

    otto9due Utente Attivo

    Registrato:
    22 Febbraio 2014
    Messaggi:
    529
    Mi Piace Ricevuti:
    21
    Punteggio:
    28
  4. otto9due

    otto9due Utente Attivo

    Registrato:
    22 Febbraio 2014
    Messaggi:
    529
    Mi Piace Ricevuti:
    21
    Punteggio:
    28
    Una cosa del genere.. provala e nel caso personalizzala in base alla guida che ti ho postato sopra, da cellulare è il massimo che sono riuscito a scrivere

    Codice:
     <?php
        echo gmdate('j-m-y', strtotime('first monday'));
        echo gmdate('j-m-y', strtotime('second monday'));
        // ovviamente dovrai poi convertire le date o giocare con le combinazioni
    ?>

    Inviato dal mio iPhone utilizzando Tapatalk
     
    Ultima modifica: 6 Settembre 2018
  5. Jensen

    Jensen Nuovo Utente

    Registrato:
    6 Settembre 2018
    Messaggi:
    2
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Sesso:
    Maschio
    Grazie dell'aiuto e scusate se non ho risposto prima...
    Alla fine ho risolto (anche grazie a voi) tutto così:

    PHP:
    $Lun1 = (strtotime("next Monday")); // timestamp del prossimo lunedì
    $Lun2 = (strtotime "+1 week" ,  $Lun1 )); // Secondo lunedì dopo il prossimo
    $Lun3 = (strtotime "+2 week" $Lun1 )); // Terzo lunedì dopo il prossimo
    $Lun4 = (strtotime "+3 week" $Lun1 ) ); // Quarto lunedì dopo il prossimo

    $TXTLun1 = ("Lunedì, " date("d/ m/ Y"$Lun1))  ;
    $TXTLun2 = ("Lunedì, " date("d/ m/ Y"$Lun2))  ;
    $TXTLun3 = ("Lunedì, " date("d/ m/ Y"$Lun3))  ;
    $TXTLun4 = ("Lunedì, " date("d/ m/ Y"$Lun4))  ;
     
Sto caricando...

Condividi questa Pagina