Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z funkcją date()
Forum PHP.pl > Forum > PHP
Przybek
Chciałem sobie napisać dla ćwiczenia skrypt wyliczający dokładnie ilość sekund które upłyną w ciągu podanej liczby lat. Aby określić, czy dany rok jest przystępny czy nie, używałem czegoś takiego: Kod:
Kod
$prz = date("L", $sekund);
Skrypt robi to w pętli for, sprawdziłem, i co się okazuje? Za każdym razem skrypt liczy wszystko dobrze aż dojdzie do roku 2038 - od tego roku pojawiają się errory związane z funkcją date(). Cała składnia jest - wydaje mi się - ok... Może funkcja date() ma ograniczenie jakieś czy cóś? 2038 i koniec (ostatni dobry wynik wyrzuca przy roku 2037, 38 to już error). Wiem, jak zrobić to w mym skrypcie, żeby wyliczyć to bez użycia date() ale z ciekawości sie pytam, czy ktoś może wie, co jest nie tak...
PS. sorry jeśli o tym już było na tym forum... niestety nie doszukałem się posta na ten temat...
DeyV
Cytat
Notatka: Poprawny zakres znacznika czasu to zwykle od piątku, 13 grudnia 1901 20:45:54 GMT (czasu Greenwich) do wtorku, 19 stycznia 2038 03:14:07 GMT. (Wartości te odpowiadają minimalnej i maksymalnej wartości 32-bitowej liczbie całkowitej ze znakiem). W systemie Windows zakres ten jest bardziej ograniczony i zawiera się w przedziale 01-01-1970 do 19-01-2038.
Przybek
Dzięki... że też nie pomyślałem o manualu :/ Nie pozostaje nic innego jak napisanie własnej funkcji sprawdzającej rok przestępny smile.gif
DeyV
A może, dla ćwiczenia, napisać to tak:
Kod
$now=strtotime ("now"),;

$za_2_lata=strtotime ("+2 years");

$ile_sekund= $za_2_lata - $now;
W końcu życie należy sobie ułatwiać, nie utrudniać winksmiley.jpg
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.