Script PHP calculare timp de la o data specifica pana in prezent.
Salutare tuturor!
Recent am avut nevoie de un script PHP care sa calculeze in urma cu cat timp un utilizator a vizitat site-ul X pentru ultima data, care in acelasi timp, sa ascunda sau sa afiseze si numarul de ani, luni, zile, minute daca este cazul sau nu are nimic de afisat.
In final mi-a iesit acest script pe care vreau sa il impartasesc cu voi, si sper sa va fie si voua de folos cum imi este mie 🙂
Scriptul este compus din 2 componente:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
function calculare_timp_de_la_data_x_pana_acum($data) { $data_specificata_de_verificat = new DateTime($data); $data_curenta_acum = ''.date("Y").'-'.date("m").'-'.date("d").' '.date("H").':'.date("i").':'.date("s").''; $rezultat_calculator_calculare_timp_de_la_data_x_pana_acum = $data_specificata_de_verificat->diff(new DateTime($data_curenta_acum)); $ani_calculare_timp_de_la_data_x_pana_acum = $rezultat_calculator_calculare_timp_de_la_data_x_pana_acum->y; $luni_calculare_timp_de_la_data_x_pana_acum = $rezultat_calculator_calculare_timp_de_la_data_x_pana_acum->m; $zile_calculare_timp_de_la_data_x_pana_acum = $rezultat_calculator_calculare_timp_de_la_data_x_pana_acum->d; $ore_calculare_timp_de_la_data_x_pana_acum = $rezultat_calculator_calculare_timp_de_la_data_x_pana_acum->h; $minute_calculare_timp_de_la_data_x_pana_acum = $rezultat_calculator_calculare_timp_de_la_data_x_pana_acum->i; $secunde_calculare_timp_de_la_data_x_pana_acum = $rezultat_calculator_calculare_timp_de_la_data_x_pana_acum->s; $calculare_timp_de_la_data_x_pana_acum = ""; if($ani_calculare_timp_de_la_data_x_pana_acum) { if($ani_calculare_timp_de_la_data_x_pana_acum == 1) { $xx_singular_sau_plural = 'an'; } else { $xx_singular_sau_plural = "ani"; } $calculare_timp_de_la_data_x_pana_acum .= $ani_calculare_timp_de_la_data_x_pana_acum.' '.$xx_singular_sau_plural.' ,'; } if($luni_calculare_timp_de_la_data_x_pana_acum) { if($luni_calculare_timp_de_la_data_x_pana_acum == 1) { $xx_singular_sau_plural = 'luna'; } else { $xx_singular_sau_plural = "luni"; } $calculare_timp_de_la_data_x_pana_acum .= $luni_calculare_timp_de_la_data_x_pana_acum.' '.$xx_singular_sau_plural.' ,'; } if($zile_calculare_timp_de_la_data_x_pana_acum) { if($zile_calculare_timp_de_la_data_x_pana_acum == 1) { $xx_singular_sau_plural = 'zi'; } else { $xx_singular_sau_plural = "zile"; } $calculare_timp_de_la_data_x_pana_acum .= $zile_calculare_timp_de_la_data_x_pana_acum.' '.$xx_singular_sau_plural.' ,'; } if($ore_calculare_timp_de_la_data_x_pana_acum) { if($ore_calculare_timp_de_la_data_x_pana_acum == 1) { $xx_singular_sau_plural = 'ora'; } else { $xx_singular_sau_plural = "ore"; } $calculare_timp_de_la_data_x_pana_acum .= $ore_calculare_timp_de_la_data_x_pana_acum.' '.$xx_singular_sau_plural.' ,'; } if($minute_calculare_timp_de_la_data_x_pana_acum) { if($minute_calculare_timp_de_la_data_x_pana_acum == 1) { $xx_singular_sau_plural = 'minut'; } else { $xx_singular_sau_plural = "minute"; } $calculare_timp_de_la_data_x_pana_acum .= $minute_calculare_timp_de_la_data_x_pana_acum.' '.$xx_singular_sau_plural.' si '; } if($secunde_calculare_timp_de_la_data_x_pana_acum == 1) { $xx_singular_sau_plural = 'secunda'; } else { $xx_singular_sau_plural = "secunde"; } $calculare_timp_de_la_data_x_pana_acum .= $secunde_calculare_timp_de_la_data_x_pana_acum.' '.$xx_singular_sau_plural.' '; return $calculare_timp_de_la_data_x_pana_acum; } |
si
1 |
echo calculare_timp_de_la_data_x_pana_acum('DATA'); |
Pentru a folosi acest script tot ceea ce trebuie sa faceti este sa adaugati prima data functia PHP, apoi sa adaugati codul unde doriti sa folositi acest script. Spre exemplu: echo calculare_timp_de_la_data_x_pana_acum('2018-03-29 14:05:20'); ne va afisa urmatorul text: 1 luna ,12 zile ,4 ore ,13 minute si 57 secunde.
Important: Trebuie sa respectati urmatorul model cand introduceti o data pe care sa o calculeze scriptul:
1 2 3 4 5 6 7 8 9 10 11 |
LEGENDA: A - an L - luna Z - ziua O - ora M - minutul S - secunda MODEL: AAAA-LL-ZZ OO:MM:SS |
Asta a fost tot, va multumesc pentru atentia acordata 🙂
Ne vedem data viitoare cu un nou articol, sper ca acest cod sa va fie util!