Witam
Mam problem bo muszę dodać do siebie dni.
Daty są w takiej formie ROK-MIESIĄC-DZIEŃ (np. 2010-03-29) i chcę do tej daty dodać np. 4 dni (czyli będzie 2010-04-02)
Jak to zrobić w php ?
Witam
Mam problem bo muszę dodać do siebie dni.
Daty są w takiej formie ROK-MIESIĄC-DZIEŃ (np. 2010-03-29) i chcę do tej daty dodać np. 4 dni (czyli będzie 2010-04-02)
Jak to zrobić w php ?
<?php= date_create('2000-01-01');date_add($date, date_interval_create_from_date_string('10 days'));date_format($date, 'Y-m-d');?[/code]
Powyższy kod to to czego szukasz...
Dodaje do daty "2000-01-01" 10 dni, co daje "2000-01-11".
to nie jest to o co mi chodzi
Chodzi o to że znam date, i jest to załóżmy data 2010-03-29 i chcę dodać do tej daty 4 dni i nie wiem jaki to będzie wynik i chcę, żeby php dla mnie to obliczyło (w tym przypadku wyjdzie wynik 2010-04-02)
Zamiast “data_create(‘2000-01-01’);” daj “data_create($data_current);”, gdzie “$data_current” to string z datą w takiej formie.
ehh…
nie chodzi mi o żadną zmianę formatu. Chodzi mi o dodawanie do siebie dni i że jak dodam 30+5 to żeby nie wyszło że to 35 dzień tylko że to już nowy miesiąc i wszystko wyglądało tak jak powinno być
To robi dokładnie to o co prosisz…
Tworzy nową zmienną z datą i na niej robi operacje…
twój kod nie działa jest taki błąd
Fatal error: Call to undefined function date_add() in /var/www/xxxxx/test.php on line 3
U mnie działa bezbłędnie, więc wina jest u Ciebie.
to musiałeś coś źle skopiować tutaj bo próbowałem na 4 różnych hostingach i na każdym ten sam błąd, nawet na unixstormie.
Kod skopiowany z mojego postu.
Zerknij tymczasowo u mnie:
weź jeszcze raz wklej ten kod bo naprawdę nie działa
$date = date_create('2000-01-01');date_add($date, date_interval_create_from_date_string('10 days'));date_format($date, 'Y-m-d'); [/code]
Jakie błędy się pokazują?
ciągle ten sam błąd
Fatal error: Call to undefined function date_add() in /var/www/folder1/folder2/test.php on line 3
czyli error w tej lini
date_add($date, date_interval_create_from_date_string('10 days'));
Spróbuj:
$date = new DateTime('2000-01-01');$date-add(new DateInterval('P10D'));$date-format('Y-m-d') . "\n"; [/code]
znowu error
Fatal error: Call to undefined method DateTime::add() in /var/www/panel/files/test.php on line 3
$dni = 7;$wynik = date("Y-m-d H:i:s", time()+(60*60*24*$dni));
potrzebujesz php co najmniej 5.3.0
teraz działa wielkie dzięki
Ale jak wprowadzić samemu date, bo nie chcę, żeby była dzisiejsza
Widocznie na tym serwerze jest starsza wersja php, a potrzebna jest wersja (PHP >= 5.3.0) aby były obsługiwane te funkcje.
spróbuj:
$data = '2011-01-19';$dni = 7;