Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Obliczenie dni pomiędzy datami, gdzie jest błąd ?
Lacki2006
post
Post #1





Grupa: Zarejestrowani
Postów: 107
Pomógł: 0
Dołączył: 3.03.2012

Ostrzeżenie: (0%)
-----


Witam
Potrzebuję obliczyć ile dni minęło od daty ale wychodzą mi jakieś kosmiczne liczby gdzie tkwi błąd ?
Mam tak napisany kod
Kod
// Obliczenie ile dni jest zlecenie w produkcji
    $data = '13/04/2014'; //nasza data
    $obecna_data = date("d-m-Y"); // pobieranie aktualnej daty
    $minelo = (strtotime($obecna_data) - strtotime($data)) / (60*60*24); //obliczanie
    $wynik = round("$minelo"); //zaokraglenie do pelnej  
        echo 'dni '. $wynik;

Z tego kodu wylicza mi że upłynęło 16183 dni (IMG:style_emoticons/default/smile.gif) pomimo iż minęło zaledwie 10 dni (IMG:style_emoticons/default/smile.gif)
Myślę że problem może tkwić w różnie zapisanej dacie bo w dacie mam dd/mm/rok a w obecnej dacie mam dd-mm-rok niestety to co jest w $data czyli dd/mm/rok musi zostać czy macie jakiś pomysł jak zrobić aby wyliczało dobrze ?
Z góry dziękuję
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Lacki2006
post
Post #2





Grupa: Zarejestrowani
Postów: 107
Pomógł: 0
Dołączył: 3.03.2012

Ostrzeżenie: (0%)
-----


W dalszym ciągu mam problem z obliczeniem dni pomiędzy datami jest tak
Kod
        
        $data = '13/04/2014'; //nasza data
    $obecna_data = date("d-m-Y"); // pobieranie aktualnej daty
    $minelo = (strtotime($obecna_data) - strtotime($data)); //obliczanie
    $minelo = date('d', $minelo);
    $wynik = round("$minelo"); //zaokraglenie do pelnej

W zmiennej $data jest wartość pobrana z bazy danych ale o takie wartości i formacje '13/04/2014' nie może być inna.
Jak zmienię wartość zmiennej $data na '13-04-2014' to wszystko wylicza bez zastrzeżeń więc rozwiązaniem mojego problemy było by zamiana slash na myślniki.

Próbowałem wstawić to co napisałeś ale z tym mi też nie chce działać aby pobrało ilość dni do zmiennej $wynik.

Go to the top of the page
+Quote Post
Prezi2907
post
Post #3





Grupa: Zarejestrowani
Postów: 107
Pomógł: 4
Dołączył: 11.08.2010
Skąd: Inowrocław

Ostrzeżenie: (10%)
X----


Cytat(Lacki2006 @ 23.04.2014, 17:08:31 ) *
W dalszym ciągu mam problem z obliczeniem dni pomiędzy datami jest tak
Kod
        
        $data = '13/04/2014'; //nasza data
    $obecna_data = date("d-m-Y"); // pobieranie aktualnej daty
    $minelo = (strtotime($obecna_data) - strtotime($data)); //obliczanie
    $minelo = date('d', $minelo);
    $wynik = round("$minelo"); //zaokraglenie do pelnej

W zmiennej $data jest wartość pobrana z bazy danych ale o takie wartości i formacje '13/04/2014' nie może być inna.
Jak zmienię wartość zmiennej $data na '13-04-2014' to wszystko wylicza bez zastrzeżeń więc rozwiązaniem mojego problemy było by zamiana slash na myślniki.

Próbowałem wstawić to co napisałeś ale z tym mi też nie chce działać aby pobrało ilość dni do zmiennej $wynik.

  1.  
  2. $data = '13/04/2014'; #twoja data
  3. $data = str_replace("/","-", $data); #zmiana na myślniki
  4. $obecna_data = date("Y-m-d"); #ogólnie format stosowany w bazach danych itd - nie wiem jakiej ty bazy używasz że masz taki format daty
  5. $minelo = (strtotime($obecna_data)-strtotime($data)); # różnica
  6. $dni = date('d', $minelo); # ilość dni
  7. $wynik = round($dni, 0); #pełna liczba
  8.  
  9. echo " Czas w sekundach : " . $minelo . " - czas w dniach : " . $dni . " == wynikowi tj : " . $wynik;

Jak to nie działa to masz zepsuty serwer... (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 12:31