Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> odejmowanie dat
termin
post 11.07.2003, 08:19:00
Post #1





Grupa: Zarejestrowani
Postów: 113
Pomógł: 1
Dołączył: 13.05.2003
Skąd: Wrocław

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


Witam, mam w zmiennej $data="2003-07-10" - jak odjąc od tego 30dni?
Go to the top of the page
+Quote Post
BzikOS
post 11.07.2003, 08:35:28
Post #2





Grupa: Przyjaciele php.pl
Postów: 660
Pomógł: 0
Dołączył: 28.08.2002
Skąd: Starachowice

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


[php:1:9285ef00c1]<?php
$nowa_data = date("Y-m-d", mktime(0,0,0,7,10-30,2003));
?>[/php:1:9285ef00c1]
Go to the top of the page
+Quote Post
zalew
post 11.07.2003, 08:39:37
Post #3





Grupa: Zarejestrowani
Postów: 407
Pomógł: 0
Dołączył: 24.10.2002
Skąd: warszawa

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


[php:1:74953540e4]<?php
$data_tmp = gmmktime(0,0,0,date("m,d,Y", $data));
$data_minus30 = date("d,m,Y", ($data_tmp - 30 * 86400));
//to z palca pisze, moglem sie rabnac
?>[/php:1:74953540e4]

a tu masz takie cos


update :
uprzedziles mnie Bzikos smile.gif to co zrobiles jest krotsze do tego pojedynczego przypadku... ale uwage mam taka ze nie mk tylko gmmk... wyprobuj sobie np mktime(0,0,0,0,0,0) co bedzie.. na dzien dzisiejszy nie bedzie to 0:0:0, 1 stycznia 1970 winksmiley.jpg


--------------------
Go to the top of the page
+Quote Post
termin
post 11.07.2003, 10:25:40
Post #4





Grupa: Zarejestrowani
Postów: 113
Pomógł: 1
Dołączył: 13.05.2003
Skąd: Wrocław

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


niestety nie dziala, zwraca mi rok 1970-01-01

a ktora funkcja rozwali mi date na poszczegolne czesci w zaleznosci od znaku "-" ?
Go to the top of the page
+Quote Post
zalew
post 11.07.2003, 10:33:55
Post #5





Grupa: Zarejestrowani
Postów: 407
Pomógł: 0
Dołączył: 24.10.2002
Skąd: warszawa

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


czyli zwrocilo ci 0..
zupdate'owalem powyzsze... dalem M i D zamiast m i d wiec dawalo dzien tygodnia slowem i dzien mieisaca tez...

a tu masz na surowo twoja date....
[php:1:51222788f3]<?php
$data_tmp = gmmktime(0,0,0,10,7,2003);
$data_minus30 = date("d-m-Y", ($data_tmp - 30 * 86400));
echo $data_minus30;
?>[/php:1:51222788f3]
dziala

a rozstrzaskac string mozesz explode() albo substringami jak cos potrzebujesz...


--------------------
Go to the top of the page
+Quote Post
termin
post 11.07.2003, 10:48:24
Post #6





Grupa: Zarejestrowani
Postów: 113
Pomógł: 1
Dołączył: 13.05.2003
Skąd: Wrocław

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


Wszystko fajnie tylko ze date mam w zmiennej i wynik tez chcialbym w Y-m-d

Kod
$data_tmp = gmmktime(0,0,0,date("Y,m,d", $data));  

$data_minus30 = date("Y-m-d", ($data_tmp - 30*86400));

echo $data_minus30;


chyba ze zmienic wyswietlanie daty od konca, ale nie wiem ktora funkcja to zamienia
Go to the top of the page
+Quote Post
BzikOS
post 11.07.2003, 11:27:09
Post #7





Grupa: Przyjaciele php.pl
Postów: 660
Pomógł: 0
Dołączył: 28.08.2002
Skąd: Starachowice

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


Ehhh...

[php:1:49bcc65857]<?php
$darray = explode("-", $data);
$nowa_data = date("Y-m-d", mktime(0,0,0,$darray[1],$darray[2]-30,$darray[0]));


?>[/php:1:49bcc65857]
Go to the top of the page
+Quote Post
termin
post 11.07.2003, 11:43:26
Post #8





Grupa: Zarejestrowani
Postów: 113
Pomógł: 1
Dołączył: 13.05.2003
Skąd: Wrocław

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


no wkoncu zadziało: THX chłopaki za pomoc
Go to the top of the page
+Quote Post
ti
post 19.07.2003, 17:31:28
Post #9





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 19.07.2003
Skąd: Łódź

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


Inne rozwiązanie problemu wg mnie bardziej przejrzyste.
Kod
<?

$ilosc_dni = 30;

$czas = date("U");

$czas = $czas - (86400*$ilosc_dni);

echo(date("d.m.Y",$czas));

?>

można modyfikować znienną $ilosc_dni
oraz znak w linijce $czas = $czas - (86400*$ilosc_dni); z - na plus jeśli chcemy wybiec w przyszłość
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 27.06.2025 - 22:16