Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] dni do końca roku, skrypt nie pokazuje prawidłowo
@rtur
post
Post #1





Grupa: Zarejestrowani
Postów: 254
Pomógł: 3
Dołączył: 23.02.2006

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


Witam mam taki prosty sktypt który ma mi obliczać ile dni do końca roku zostało:
  1. $data_do=date('Y').'-12-31';
  2. $dzis_jest=date('Y-m-d');
  3. $pozostalo = (strtotime($data_do) - strtotime($dzis_jest)) /86400;
  4. echo 'do końca roku pozostało '.$pozostalo.' dni.';


tylko nie mam pojęcia czemu ten skrypt mi pokazuje że zostało 237.04166666667 dni a nie 238?

Mógłbym prosić o naprowadzenie mnie co jest nie tak?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Ilware
post
Post #2





Grupa: Zarejestrowani
Postów: 248
Pomógł: 31
Dołączył: 14.12.2010
Skąd: Wrocław

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


a nie łatwiej skorzystać z opcji "z" dla date?podaje dzień roku.Odejmujesz tą wartość od 365 i masz wynik, z opcji "L" wyciągnij czy rok jest przestępny i całość załatwiona (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
lobopol
post
Post #3





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


Wynik dzielenia nie jest w tym wypadku liczbą całkowitą i tyle. Użyj ceil na wyniku
Go to the top of the page
+Quote Post
@rtur
post
Post #4





Grupa: Zarejestrowani
Postów: 254
Pomógł: 3
Dołączył: 23.02.2006

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


Cytat(Ilware @ 8.05.2011, 10:35:18 ) *
a nie łatwiej skorzystać z opcji "z" dla date?podaje dzień roku.Odejmujesz tą wartość od 365 i masz wynik, z opcji "L" wyciągnij czy rok jest przestępny i całość załatwiona (IMG:style_emoticons/default/smile.gif)

Coś takiego?
  1. if(date('L')) {$dni='366';} else{$dni='365';}
  2. $dzienroku = date('z');
  3. $pozostalo = $dni-$dzienroku;
  4. echo 'do końca roku pozostało '.$pozostalo.' dni.'

Pisane na szybko z pamięci.
Go to the top of the page
+Quote Post
tolomei
post
Post #5





Grupa: Zarejestrowani
Postów: 450
Pomógł: 135
Dołączył: 18.11.2010
Skąd: Wschowa

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


Można także polecieć po znaczniku unixa w ten sposób:

  1. $dzis = mktime(0,0,0,date('n'),date('j'),date('Y'));
  2. $nowy_rok = mktime(0,0,0,1,1,(date('Y')+1));
  3. $ile_dni = ($dzis - $nowy_rok) / 86400;
  4.  
  5. echo 'Do nowego roku pozostało '.$ile_dni.' dni :)';


Ile osób tyle sposobów (IMG:style_emoticons/default/smile.gif)

Ten post edytował tolomei 8.05.2011, 11:23:14
Go to the top of the page
+Quote Post

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: 12.10.2025 - 10:34