Jak policzyć ile zostało lub minęło lat, dni, godzin, minut i sekund względem określonejty


[PHP] Jak policzyć ile zostało lub minęło lat, dni, godzin, minut i sekund względem określonej daty?

0x01 graphic

Chcesz pokazać na stronie ile czasu zostało do określonej daty lub ile czasu minęło od określonej daty. Można w ten sposób odliczać czas pozostały do końca roku, pokazywać ile lat istnieje Twój serwis, etc.

Przykład:
od teraz do 2002.04.24 - 13:53:11 mineło:

lat: 2; dni: 751; godzin: 18034; minut: 1082060; sekund: 64923625
lub
lat: 2; dni: 21; godzin: 10; minut: 20; sekund: 25

0x01 graphic

Skrypt jest uniwersalny - umożliwia podanie jedynie ilości lat, dni lub godzin (np. zostało 876 dni) albo pokazanie różnicy czasu w bardziej czytelnym formacie (np. zostało jeszcze 18 dni, 21 godzin i 30 sekund).

Bardzo łatwo możesz zmodyfikować sposób pokazywania różnicy czasu, co pozwala stosować skrypt w zasadzie do wszystkich możliwych przeliczeń względem aktualnego lub określonego dnia. Zobacz jak policzyć i pokazać różnicę czasu:

$teraz=gmmktime(); // aktualna data

$dzien=gmmktime(13,53,11,04,24,2002); // 2002.04.24 - 13:53:11

// wyliczanie roznicy

$sekund = abs($teraz-$dzien);

$minut = (int)($sekund/60);

$godzin = (int)($minut/60);

$dni = (int)($godzin/24);

$lat = (int)($dni/365);

// wyliczanie calego okresu

$sekund = (int)($sekund-$minut*60);

$minut = (int)($minut-$godzin*60);

$godzin = (int)($godzin-$dni*24);

$dni = (int)($dni-$lat*365);

echo "lat: $lat; dni: $dni; godzin: $godzin; minut: $minut; sekund: $sekund";

Zmienna teraz pobiera i przechuje aktualny czas w sekundach. Zmienna dzien pobiera czas również w sekundach, ale dla określonego przez nas dnia. Dla określonego dnia należy podać po kolei: godzinę, minutę, sekundę, miesiąc, dzień i rok.

Teraz wystarczy obliczyć różnicę czasu między datami. W wyniku otrzymamy liczbę sekund, z której można policzyć różnicę w innych jednostkach czasu. Funkcja abs() podaje wartość bezwzględną (ujemną zamienia na dodatnią), a więc nie trzeba się martwić tym, że data z przyszłości wyszłaby ujemna.

Dzieląc sekundy, a potem poszczególne jednostki obliczamy minuty, godziny, dni i lata. Typ int odrzuca wartość po przecinku, ponieważ interesują nas pełne lata, godziny lub minuty.

Możnaby już teraz wypisać, ile dni mineło od podanej daty, jednak wartość "875 dni" lub "7262543 sekund" jest mało czytelna. Dobrze jest zamienić wszystko na pełne dni, godziny lub minuty. Dlatego w drugim "bloku obliczeniowym" ponownie przeliczamy czas aby uzyskać wersję z czytelnymi jednostkami.

Teraz wystarczy wypisać wynik na ekran. Przetestuj program dla daty z przeszłości i przyszłości - działa bardzo dobrze. Jedyne co musisz zrobić to podać datę w programie i na stronie poinformować użytkownika względem jakiej daty obliczasz różnicę.

Funkcje czasu zaczynają się od przyrostka gm (gmmktime) mają one identyczne znaczenie jak mktime, ale uwzględniają zmiany godzin w czasie letnim i zimowym. Gdyby nie one, wyliczenia w niektórych wypadkach byłyby obarczone błędem wynikającym z dodania godziny i jej odjęcia dwa razy w roku. Stosując funkcje gm podczas przeliczeń można ustrzec się tego problemu.

Jeżeli zechcesz policzyć różnicę względem innego dnia niż aktualny, wtedy dla zmiennej $teraz musisz ustalić datę w funkcji gmmktime() podobnie, jak dla dnia docelowego



Wyszukiwarka

Podobne podstrony:
Jak policzyć ile razy powtarzają się wszystkie elementy w tablicy lub wszystkie?ne w pliku
Jak policzyć ile plików (wszystkich lub określonego typu) znajduje się w wybranym katalogu
Jak wyliczyć i pokazać datę godzinę powiększoną lub pomniejszoną o dowolną ilość dni godzin względem
JAK POPRAWIĆ TRWAŁOŚĆ RAJSTOP LUB POŃCZOCH, porady różne, CIEKAWOSTKI DLA PANI DOMU LUB PANA DOMU!!!
Zycie jak proces mozna wygrac lub przegrac, wszystko do szkoly
biznes plan teoria jak ustalic?ne na produkt lub usluge A5U6LHF6WDDQH32ENECAUNKRGZMIFNNQXBTYGVI
Policz ile jest trójkątów, matematyka w kształceniu zintegrowanym
Jak wspierac rozwoj mowy dziecka w wieku 0 6 lat
Jak często i ile wody zmieniać, AKWARYSTYKA
jak policzyc objetosc plikow w katalogu i podkatalogach, PHP Skrypty
Jak literatura demaskuje mity narodowe , Jak literatura polska XIX lub XX wieku tworzy i demaskuje m
Jak nagle wstrzymać zamykanie lub restartowanie systemu
życie, podobnie jak proces, można wygrać lub przegrać.
Literatura, Jak literatura demaskuje mity narodowe, Jak literatura polska XIX lub XX wieku tworzy i
Nie licz lat i dni
Jak wybrać losowy rekord (lub losowe rekordy) z tabeli, PHP Skrypty
lamiglowki dla dzieci policz ile widzisz ryb (2)
Policz ile jest kwadrató1, matematyka w kształceniu zintegrowanym
Cierpliwy jak Chińczyk człowiek, który żył 256 lat

więcej podobnych podstron