Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [php] quanto tempo è passato da...?

    Ciao, avevo bisogno di una funzione che mi dicesse quanto tempo è passato (in giorni, ore, minuti e secondi) da una data, insomma che calcolasse la differenza tra due date.

    Codice PHP:
    function difference($data) {
      
    $difference time() - date($data);

      
    $days floor($difference 86400);
      
    $difference -= 86400 floor($difference 86400);
      if (
    $days ==1) { echo $days ' giorno, '; } elseif($days 1) { echo $days " giorni, "; }
      
      
    $hours floor($difference 3600);
      
    $difference -= 3600 floor($difference 3600);
      if (
    $hours == 1) { echo $hours " ora, ";} elseif($hours 1) { echo $hours " ore, "; }
      
      
    $minutes floor($difference 60);
      
    $difference -= 60 floor($difference 60);
      if (
    $minutes == 1) {echo $minutes " minuto "; } elseif ($minutes 1) {echo $minutes " minuti "; }
      echo 
    "fa.";

    La funzione accetta date in formato UNIX timestamp.

    Per sapere la differenza tra adesso e $data, basta dare:
    Codice PHP:
    mktime($data); //converte $data in un timestamp
    echo difference($data); 
    Esempi di output:

    1 ora, 54 minuti fa.
    6 ore, 59 minuti fa.
    1 giorno, 20 minuti fa.
    2 giorni, 9 ore, 1 minuto fa.
    57 giorni, 1 ora, 11 minuti fa.
    500 giorni, 13 ore, 59 minuti fa.
    Le ore, i minuti e i secondi vengono divisi (come si vede dall'esempio), ma i giorni crescono indefinitamente con l'allontanarsi tra $data e adesso. Questo perchè non volevo impelagarmi con anni bisestili, mesi di 28-29-30-31 giorni, ecc.

    Comunque spero che questo possa tornare utile a qualcuno.
    Ciao

  2. #2
    Utente bannato
    Registrato dal
    Sep 2005
    Messaggi
    905
    interessante..

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.