[PHP] Contare i mesi con timestamp.

Discussione in 'PHP' iniziata da Phelps, 5 Marzo 2019.

  1. Phelps

    Phelps Nuovo Utente

    Registrato:
    17 Dicembre 2018
    Messaggi:
    46
    Mi Piace Ricevuti:
    0
    Punteggio:
    6
    Sesso:
    Maschio
    Ciao a tutti...
    in una applicazione Laravel ogni qualvolta io entro in un record per fare un aggiornamento e poi salvo , si aggiorna in automatico nel database il TIMESTAMP created_at. Bene...
    il timestamp è cosi stampato, esempio (2019-03-05 21:26:58).....
    Vorrei ora contare 4 mesi da quel timestamp e ricevere quindi un azione.
    Esempio :

    $ladata = $row->updated_at + 4mesi;
    if($row->updated_at > $ladata) {
    $style = 'bg-warning';
    } else {
    $style = '';
    }

    cosi che quando la data sarà scaduta il background di quella parte del DOM diventa rosso.
    Grazie a tutti
     
  2. macus_adi

    macus_adi Utente Attivo

    Registrato:
    5 Dicembre 2017
    Messaggi:
    965
    Mi Piace Ricevuti:
    56
    Punteggio:
    28
    Sesso:
    Maschio
    Occupazione:
    Developer
    Località:
    L'Aquila
    potresti provare con
    PHP:
    $back_color='bg-default';
    $data_created_on=strtotime($result->created_at);
    if(
    $data_created_on<(time()-(3600*24)*120))$back_color='bg-warning';
    In alternativa
    PHP:
    if(!function_exists('diff_date')){
       function 
    diff_date($dt1,$dt2,$format='%Y-%m-%d %H:%i:%s'){
          
    $d1=new DateTime($dt1);
          
    $d2=new DateTime($dt2);
          return 
    $d2->diff($d1)->format($format);
       }
    }
    $data1='2019-01-31 00:00:00';
    $data2='2019-02-28 13:56:41';
    print_r(diff_date($data1,$data2,"Giorni %d, Ore %H"));
    [/
    PHP}
     
    Ultima modifica: 6 Marzo 2019
  3. Phelps

    Phelps Nuovo Utente

    Registrato:
    17 Dicembre 2018
    Messaggi:
    46
    Mi Piace Ricevuti:
    0
    Punteggio:
    6
    Sesso:
    Maschio
    grazie. prezioso codice, me li salvo perché mi sono utili.
    Mi è venuto in mente anche questo:

    Se creassi un campo input type date e inserissi la data del previsto rientro (4mesi) come varchar poi potrei fare il confronto con la funzione date(), tipo:

    $mesi = '06-03-2019';
    $data = date('d-m-Y');

    if($mesi >= $data){
    $colore = 'bg-danger';
    } else {
    $colore = '';
    }

    Cmq se gli và di inserire questo campo di previsto rientro vado per questa. Se invece no provo con il tuo codice. Grazie.

    P.s il timestamp stampa cosi (2019-03-05 21:26:58).. strtotime vede lo spazio tra data e ora, non è che vuole solo la data?
     
  4. macus_adi

    macus_adi Utente Attivo

    Registrato:
    5 Dicembre 2017
    Messaggi:
    965
    Mi Piace Ricevuti:
    56
    Punteggio:
    28
    Sesso:
    Maschio
    Occupazione:
    Developer
    Località:
    L'Aquila
    NO!
     
  5. Phelps

    Phelps Nuovo Utente

    Registrato:
    17 Dicembre 2018
    Messaggi:
    46
    Mi Piace Ricevuti:
    0
    Punteggio:
    6
    Sesso:
    Maschio
    ok grazie.. io l ho scritto manualmente per la prova del codice ecco perché.. grazie del tuo aiuto!
     
  6. Max 1

    Max 1 Super Moderatore Membro dello Staff SUPER MOD MOD

    Registrato:
    29 Febbraio 2012
    Messaggi:
    3.859
    Mi Piace Ricevuti:
    286
    Punteggio:
    83
    Sesso:
    Maschio
    @Phelps
    Da regolamento del forum, come tutti noi sei tenuto ad usare il tag [​IMG] o il tag [​IMG] per il PHP, quando posti del codice, oppure la funzione codice dalla barra degli strumenti
    [​IMG]

    Inoltre ti prego di leggere attentamente il regolamento generale del forum e quello di sezione dove posti
    Grazie
     
  7. Phelps

    Phelps Nuovo Utente

    Registrato:
    17 Dicembre 2018
    Messaggi:
    46
    Mi Piace Ricevuti:
    0
    Punteggio:
    6
    Sesso:
    Maschio
    Pardon.. Leggendolo oggi e riusando il forum l'anno prossimo, si può dimenticare. Sorry, cercherò di imprimerlo bene. Grazie saluti.
     
  8. Phelps

    Phelps Nuovo Utente

    Registrato:
    17 Dicembre 2018
    Messaggi:
    46
    Mi Piace Ricevuti:
    0
    Punteggio:
    6
    Sesso:
    Maschio
    differenza tra due date..
    Ciao domando un' alta cosa.

    Ho questo

    PHP:
    //Questa mi stampa la data odierna tipo 2019-03-24
    $today date("Y/m/d");
    //Questa è un Varchar che con input date HTML memorizza la data sempre così : 2019-03-24
    $date2 $publisher->uscita//proviene da database
    Come posso fare la differenza tra le date?
    Esempio data odierna $today - $date2.. Vorrei avere come risultato sono passati esempio un mese!
    Sò che date_diff si aspetta due dateTime. Se si possono convertire $today e $date2..
    Come posso fare?
    Grazie
     
  9. Phelps

    Phelps Nuovo Utente

    Registrato:
    17 Dicembre 2018
    Messaggi:
    46
    Mi Piace Ricevuti:
    0
    Punteggio:
    6
    Sesso:
    Maschio
    Scusate rispondo avendo trovato la soluzione, tra l'altro già indicata in parte da macus

    PHP:
                        $today date("Y/m/d");
                        
    $date2=date_create($today);
                        
    $date1=date_create($publisher->uscita);
                        
    $diff=date_diff($date1,$date2);
                        
    $gap $diff->format("%m Mesi e %d Giorni");
                       
     
Sto caricando...

Condividi questa Pagina