![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 1 Dołączył: 3.09.2008 Ostrzeżenie: (0%) ![]() ![]() |
O funkcji mktime mozemy wyczytac:
"int mktime ( int godzina, int minuta, int sekunda, int miesiąc, int dzień, int rok [, int letni/zimowy] ) Funkcja zwraca uniksowy znacznik czasu odpowiadający podanym argumentom. Znacznik czasu jest liczbą całkowitą długą (long integer) zawierającą liczbę sekund dzielącą uniksową Epokę (1 stycznia 1970) od podanego w argumentach czasu." Zastanawia mnie w zwiazku z tym, dlaczego Kod $x=mktime(0, 0, 0, 1, 1, 1970); echo $x; wyswietla wartosc -3600, a nie 0. Co prawda Kod echo date("Y-m-d H:i:s", $x); wyswietli prawdlowa date 1970-01-01 00:00:00, ale i tak nie daje mi to spokoju ![]() Podejrzwam, ze cos zle zrozumialem i dlatego mam problem ze zrozumieniem dlaczego Kod $x=mktime(0, 0, 0, 1, 1, 1970); echo date("Y-m-d H:i:s", ($x+$x)); daje wynik 1969-12-31 23:00:00 Prosze o pomoc w zrozumieniu tego (z pewnoscia) banalu. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 94 Pomógł: 31 Dołączył: 12.10.2008 Skąd: WAT Ostrzeżenie: (0%) ![]() ![]() |
Kod $x=mktime(0, 0, 0, 1, 1, 1970);<BR>echo $x; wyswietla wartosc -3600, a nie 0. Co prawda Kod echo date("Y-m-d H:i:s", $x); wyswietli prawdlowa date 1970-01-01 00:00:00, ale i tak nie daje mi to spokoju ![]() Oficjalnego zdania nie zajmę ale swoje wyrazić mogę. ![]() Pierwszy parametr (godzina) dotyczy godziny, która aktualnie trwa a nie godziny już zakończonej a więc: Kod $x=mktime(1, 0, 0, 1, 1, 1970); echo $x; wyświetli zero, ponieważ jest to zerowa sekunda i zerowa minuta pierwszej godziny Unixa, natomiast: Kod $x=mktime(0, 0, 0, 1, 1, 1970); echo $x; to godzina zerowa, a więc przed rozpoczęciem epoki. np. analogiczny zapis godziny 23:02, czyli drugiej minuty godziny 24:00 (0:00) miałby postać 0, 2, 0 tak ja to rozumiem... ![]() Ten post edytował YaQzi 10.03.2009, 17:57:11 -------------------- • Wszystkie wielkości świata nie są tyle warte, co dobra przyjaźń... • |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 449 Pomógł: 4 Dołączył: 1.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
A mi to:
wyświetla 01.01.1970 00:00:00 ![]() -------------------- 9242594 - zaczynasz? jak mogę, to pomogę :D /podstawowa znajomość php :P /
"to pomoc zawsze będzie gestem pięknym, zaliczana do tych teraz rzadko spotykanych..." |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 1 Dołączył: 3.09.2008 Ostrzeżenie: (0%) ![]() ![]() |
Hmmm... Wiec najwyrazniej zalezy to od ustawien na serwerze :/
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Hmmm... Wiec najwyrazniej zalezy to od ustawien na serwerze :/ Nie, po prostu KCG w całej swej genialności robi wielkie halo z tego, że otrzymuje inną formę zapisu daty z powodu podania innego formatu wyprowadzanych danych. Sama data przecież jest taka sama. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 1 Dołączył: 3.09.2008 Ostrzeżenie: (0%) ![]() ![]() |
Rzeczywiscie. Zle spojrzalem. Przeciez i u mnie taka sama date wyswietla:
[...] Co prawda Kod echo date("Y-m-d H:i:s", $x); wyswietli prawdlowa date 1970-01-01 00:00:00 KCG zrobil to samo, tylko inaczej. Tylko nie zauwazyl, ze problem nie jest w wyswietleniu daty, tylko znacznika czasu i wyjasnienie jak sie ma on do przytoczonej definicji. Sam juz sie pogubilem, pewnie przez te godziny sleczenia nad ta zagadka. PS. Kawalek kodu, z ktorym meczylem sie od rana i dzieki ktoremu zaczalem zaglebiac sie w temat funkcji mktime, jest juz skonczony. W skrocie polegalo to na operacjach na czasie. Wszelkie operacje robie na znacznikach powiekszonych o godzine, zgodnie z tym co napisal YaQzi. Na samym koncu, przy wyswietlaniu wyniku odejmuje ta nadmiarowa godzine Kod echo date("H:i:s", ($wynik-3600)); i o dziwo otrzymuje poprawne wyniki ![]() |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 449 Pomógł: 4 Dołączył: 1.12.2006 Ostrzeżenie: (0%) ![]() ![]() |
KCG w całej swej genialności robi wielkie halo Wypraszam sobie. Doczytałem, uważam, że Twój pogląd jest logiczny, YaQzi. -------------------- 9242594 - zaczynasz? jak mogę, to pomogę :D /podstawowa znajomość php :P /
"to pomoc zawsze będzie gestem pięknym, zaliczana do tych teraz rzadko spotykanych..." |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 15:37 |