Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Jak sprawdzić czy rok 2009 jest przestępny ?
Morale
post
Post #1





Grupa: Zarejestrowani
Postów: 152
Pomógł: 2
Dołączył: 28.03.2007

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


Mam takie pytania:

1. Jak sprawdzić czy rok 2009 jest przestępny.

Dla aktualnego roku to jest
  1. <?php
  2. date('L')
  3. ?>

Ale nie wiem jak dla innego to sprawdzić.

2. Czy jest jakaś funkcja, która pokaże mi najbliższy rok przestępny.

Ten post edytował drPayton 2.01.2008, 13:12:39
Powód edycji: Dodałem tag w temacie. @drPayton


--------------------
Jeśli pomogłem to kliknij Pomógł.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 16)
phpion
post
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




1. Dla funkcji date() podaj drugi parametr będący odpowiednią datą. Możliwe, że wystarczy sam rok; jeśli nie to podaj dowolną datę z danego roku.
2. Raczej nie (przynajmniej nie znam) ale możesz sam taką napisać; po prostu zwiększasz nr roku aż do momentu gdy aktualny będzie przestępny. Liczba inkrementacji nie powinna przekroczyć 4 co jest oczywiste winksmiley.jpg
Go to the top of the page
+Quote Post
sticker
post
Post #3





Grupa: Zarejestrowani
Postów: 611
Pomógł: 19
Dołączył: 28.02.2005
Skąd: Wrocław

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


rok przestępny algorytm


--------------------
Go to the top of the page
+Quote Post
Morale
post
Post #4





Grupa: Zarejestrowani
Postów: 152
Pomógł: 2
Dołączył: 28.03.2007

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


Cytat(sticker @ 1.01.2008, 17:17:11 ) *

szkoda, że nie ma w php


to nie działa:

  1. <?php
  2. date("L", '2009');
  3. ?>


ani to:

  1. <?php
  2. date("L", '29/2/2009');
  3. ?>


Ten post edytował Morale 1.01.2008, 17:28:47


--------------------
Jeśli pomogłem to kliknij Pomógł.
Go to the top of the page
+Quote Post
devnul
post
Post #5





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

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


bo jako parametr musisz podac date w sekundach http://pl.php.net/date


--------------------
Profesjonaliści są przewidywalni...
strzeż się amatorów...
FL4SHB4CK - imprezy, galerie, lokale
Go to the top of the page
+Quote Post
Morale
post
Post #6





Grupa: Zarejestrowani
Postów: 152
Pomógł: 2
Dołączył: 28.03.2007

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


ok, działa


--------------------
Jeśli pomogłem to kliknij Pomógł.
Go to the top of the page
+Quote Post
nitro18
post
Post #7





Grupa: Zarejestrowani
Postów: 311
Pomógł: 7
Dołączył: 2.08.2006
Skąd: Bystrzyca Kłodzka/Nysa

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


Jeżeli podany rok jest podzielny bez reszty przez 4 to jest to rok przestępny, np.
2008 % 4 = 0 (OK)
2009 % 4 = 1
...
Go to the top of the page
+Quote Post
franki01
post
Post #8





Grupa: Zarejestrowani
Postów: 508
Pomógł: 75
Dołączył: 2.11.2005
Skąd: Bydgoszcz

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


Cytat(nitro18 @ 1.01.2008, 22:55:06 ) *
Jeżeli podany rok jest podzielny bez reszty przez 4 to jest to rok przestępny, np.
2008 % 4 = 0 (OK)
2009 % 4 = 1
...


Nie zawsze tak jest. Jest cos takiego ze jak rok dzieli sie przez 40, to rok ten nie jest przestepnym. Sa jakies takie reguly, wiec niewarto przez dzielenie tego zalatwiac smile.gif
Go to the top of the page
+Quote Post
qrees
post
Post #9





Grupa: Zarejestrowani
Postów: 275
Pomógł: 44
Dołączył: 23.11.2007

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


Cytat(franki01 @ 1.01.2008, 23:03:07 ) *
Nie zawsze tak jest. Jest cos takiego ze jak rok dzieli sie przez 40, to rok ten nie jest przestepnym. Sa jakies takie reguly, wiec niewarto przez dzielenie tego zalatwiac smile.gif


Reguły są trzy:
jeżeli dzieli się przez 400 to jest przestępny, w przeciwnym wypadku
jeżeli dzieli się przez 100 to jest zwykły, w przeciwnym wypadku
jeżeli dzieli się przez 4 to jest przestępny

Nie bardzo sobie wyobrażam, jak chcesz to załatwić bez dzielenia (tudzież modulo)... Można jeszcze rok skonwertować do tekstu i sprawdzać ostatnie cyfry... ale dzielenie chyba jest prostrze
Go to the top of the page
+Quote Post
nitro18
post
Post #10





Grupa: Zarejestrowani
Postów: 311
Pomógł: 7
Dołączył: 2.08.2006
Skąd: Bystrzyca Kłodzka/Nysa

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


franki01 jak będziesz zdawał maturę z informatyki to się dowiesz jaki algorytm jest na sprawdzenie czy dany rok jest przestępny.
I zgadzam się w 100% z qreesem że bez modulo nie załatwisz sprawy... Qrees dzięki za przypomnienie regułek winksmiley.jpg
Go to the top of the page
+Quote Post
nevt
post
Post #11





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

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


widzę, że króluje zamiłowanie do komplikowania sobie życia i kodu biggrin.gif
w PHP najłatwiej uzyć
  1. <?php
  2. checkdate(2, 29, 2009);
  3. ?>
pozdrawiam...


--------------------

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
Go to the top of the page
+Quote Post
nitro18
post
Post #12





Grupa: Zarejestrowani
Postów: 311
Pomógł: 7
Dołączył: 2.08.2006
Skąd: Bystrzyca Kłodzka/Nysa

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


Ciekaw czy byłbyś taki mądry jakbyś miał to w Delphi zrobić tongue.gif
Go to the top of the page
+Quote Post
devnul
post
Post #13





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

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


a kto tu pisał o delphi? jesteśmy na forum o delphi czy o php? zreszta tak w delphi, php i wielu innych językach można to prosto zrobić (czasem nawet bardzo prosto - jak to już pokazał nevt)


--------------------
Profesjonaliści są przewidywalni...
strzeż się amatorów...
FL4SHB4CK - imprezy, galerie, lokale
Go to the top of the page
+Quote Post
phpion
post
Post #14





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Cytat(nevt @ 2.01.2008, 02:20:26 ) *
widzę, że króluje zamiłowanie do komplikowania sobie życia i kodu biggrin.gif
w PHP najłatwiej uzyć
  1. <?php
  2. checkdate(2, 29, 2009);
  3. ?>
pozdrawiam...

Hmmm a czy przypadkiem checkdate" title="Zobacz w manualu PHP" target="_manual nie sprawdza czy podana data jest poprawna? Autorowi tematu chodziło przecież o to czy dany rok jest przestępny czy nie.
Go to the top of the page
+Quote Post
nitro18
post
Post #15





Grupa: Zarejestrowani
Postów: 311
Pomógł: 7
Dołączył: 2.08.2006
Skąd: Bystrzyca Kłodzka/Nysa

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


I Widzisz nevt, bez modulo to nie przejdzie. tongue.gif
Go to the top of the page
+Quote Post
nevt
post
Post #16





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

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


phpion.com
Cytat
Hmmm a czy przypadkiem checkdate nie sprawdza czy podana data jest poprawna? Autorowi tematu chodziło przecież o to czy dany rok jest przestępny czy nie.

właśnie to wykorzystałem - takie wywołanie jak przedstawiłem zwróci TRUE jeżeli podstawiony rok będzie przestępny (bo 29 lutego będzie prawidłową datą) lub FALSE w przeciwnym wypadku (bo 29 lutego będzie nieprawidłową datą) - Działa na 100 % - SPRAWDZIŁEM smile.gif - czyli mamy dokładnie rezultat o który chodzi w tym wątku...

nitro18
Cytat
I Widzisz nevt, bez modulo to nie przejdzie.

a jednak przejdzie... guitar.gif

pozdrawiam serdecznie - skończmy ten wątek - chyba juz dość nabijania postów...


--------------------

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
Go to the top of the page
+Quote Post
phpion
post
Post #17





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




@nevt
o kurde, ale wstyd biggrin.gif faktycznie, prosty i sprytny sposób smile.gif gratuluję smile.gif hehehe
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 Aktualny czas: 21.08.2025 - 21:50