Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Zmienna w funkcji strtotime.
Forum PHP.pl > Forum > Przedszkole
Croos22
Dzień dobry.

  1. $czas = $ranga * 60;
  2. $nastepny= date("Y-m-d, H:i:s",strtotime("+'$czas' seconds"));


Mam problem z taką błahostką. Zamiast wykonać pomija.
Piogola
  1. $czas = $ranga * 60;
  2. $nastepny= date("Y-m-d, H:i:s",strtotime("+$czas seconds"));
Croos22
Mam jeszcze jeden problem z datą:

  1. (strtotime($data_zakonczenia) - strtotime($data_rozpoczecia)) / (60*60*24);


Wynik:
15108.592338


Daty które odejmuje od siebie:
2011-05-14, 16:12:58 - 2011:05:14, 16:07:24
nekomata
Bo funkcja nazywa się STRTOTIME czyli String to time() , a pamiętaj że time() zwraca czas unix'owy (w sekundach od.. 1970 któregoś czy coś takiego) .Więc zamiast /(60*60*24) powinno być chyba * (tak na oko..).
Bags_Bunny
Cytat(nekomata @ 14.05.2011, 21:52:47 ) *
Więc zamiast /(60*60*24) powinno być chyba * (tak na oko..).

I niby jaka byłaby semantyka takiej liczby?

Dzielenie tego przez 60*60*24 daje nam ilość dni między tymi datami. Ponieważ jednak nie jest to pełna ilość dni, bo pierwotnie operujemy na sekundach, proponuję przekazywać do strtotime wyłącznie datę, bez godzin. Ewentualnie zaokrąglenie (round, floor, ceil) może wystarczyć, w zależności od potrzeb.
Są również specjalne funkcje do operowania na różnicach dat, np. DateTime.diff.

Nieoczekiwany wynik wynika z formatu daty. Poszczególne jej części oddziela się myślnikami, a nie dwukropkami.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.