Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Strefy czasowe i timezonedb
Forum PHP.pl > Forum > PHP
nofake
Witam.

Pierwsza kwestia:
Potrzebuję listy aktualnych stref czasowych. Wykorzystałem do tego listIdentifiers(): http://php.net/manual/pl/datetimezone.listidentifiers.php i teraz zastanawiam się jak odbywa się aktualizacja tej listy. Dzisiaj listuje sobie wszystko, ale przykładowo jutro zajdą jakieś zmiany w strefach czasowych (któraś zostanie usunięta, jakaś zostanie dodane, gdzieś zmieni się DST) - czy ta lista jest na bieżąco aktualizowana i zmiany będę miał od razu czy trzymane jest w to w bibliotece i aktualną listę otrzymam dopiero po aktualizacji wersji PHP?

Druga:
Istnieje rozszerzenie do PHP wczytujące dane z pliku, który jest aktualizowany na bieżąco: https://pecl.php.net/package/timezonedb - ale tutaj mam mam także wątpliwości, otóż:
1) czy wysatrczy wrzucic do apache'a ten plik timezonedb i uruchomic to w php.ini?
2) czy aby mieć ciągle aktualną listę stref czasowych to jest wymagane reinstalowanie php? bo inaczej w jaki sposób aktualizowane są dane?
3) ciekawa jest również duża liczba wersji tej biblioteki - czy to są łatki na błędy (ale że aż tyle?) czy może to są po prostu zaktualziowane strefy czasowe i trzeba je za każdym razem pobierac?

Nikt nie wie, nikt nie pomoże?
prz3kus
Cytat(nofake @ 4.05.2015, 08:27:23 ) *
czy trzymane jest w to w bibliotece i aktualną listę otrzymam dopiero po aktualizacji wersji PHP?

Wydaje mi się, że niestety jest tak, paczki jak sam widzisz wydawane sa co jakiś czas, a obecną wersje jaka posiadasz możesz pobrać w kodzie. Jednak faktycznie ciężko znaleść w necie konkrtne informacje na ten temat.

Pozdrawiam
nofake
Jeśli tak jest jak pieszesz to czy używanie tej biblioteki nie jest troche bez sensu?

Ktoś coś jeszcze? smile.gif
salfunglandyare
Reinstalacja PHP - nie. To jest podmiana pliku (mysle, ze da rade zaktualizowac przez pecl install). Restart apache raczej wymagany.
W changelogu masz informacje, np. "Updated to version 2015.4 (2015d)", oznacza to, że baza została uaktualniona ze źródła, nie błędy, czy poprawki. Dane źródłowe dla tej bazy są stąd: http://www.iana.org/time-zones i tak - zmieniają się zadziwiająco często, możesz poczytać: http://mm.icann.org/pipermail/tz-announce/
nospor
Cytat
Jeśli tak jest jak pieszesz to czy używanie tej biblioteki nie jest troche bez sensu?
Niby czemu? Dane strefy czasowe nie zmieniają się tak czesto. Raz na kilkadziesiat lat to naprawde jest spory kawalek czasu wink.gif
A nie kazdy pracuje na specyficznych strefach, ktore zmieniają się co 2 dni i nie jest wymagane bycie na bieżąco od razu.
nofake
Wbrew pozorom zmiany w tej kwestii nie są rzadkie, choć tak jak wspomniałeś najczęściej dotyczą timezones, z których moi użytkownicy pewnie nigdy nie skorzystają. Mimo to chciałbym zrobić to dobrze i na wieki. Skoro ta biblioteka mi tego nie zapewni (bez restartów, aktualizacji itp.) to po co się to w to bawić, jeśli równie dobrze podobny efekt mogę uzyskać używając np. DateTimeZone::listIdentifiers

czy ja czegoś nie rozumiem? smile.gif
nospor
Cytat
Wbrew pozorom zmiany w tej kwestii nie są rzadkie, choć tak jak wspomniałeś najczęściej dotyczą timezones, z których moi użytkownicy pewnie nigdy nie skorzystają
Tak, mowiac o rzadkich zmianach, mialem na mysli wlasnie normalne strefy, na ktorych pracuje raczej wiekszosc - one za czesto się nie zmieniają.

A czemu uwazasz, ze DateTimeZone::listIdentifiers zwraca aktualne na bieżąco dane?

edit:a, nie, źle cie zrozumialem. Tak, obie metody dają podobny efekt, obie by byly aktualne, trzeba aktualizowac. Nadal nie wiem w czym tu widzisz problem, skoro sam przyznajesz ze nie ocierasz się o strefy, ktore zmieniają się co godzina smile.gif Wydaje mi sie, ze z lekka przesadzasz poprostu
nofake
No właśnie z tego co wiem nie zwraca aktualnych danych, tj. lista stref nie jest na bieżąco aktualizowana. Zapewne aktualizacja PHP aktualizuje także listę. A skoro biblioteka timezonedb również wymaga ingenerencji w stylu restartów/update, by obrać aktualną listę to moje pytanie brzmi: po co skoro listIdentifiers() działa podobnie?
nospor
Pewnie po nic smile.gif
Ja tam korzysta wlasnie z tej:
http://php.net/manual/en/datetimezone.listidentifiers.php
i się nie przejmuję o aktualizację smile.gif
salfunglandyare
Po co, po co... Co za pytanie? Może kolega ma taki nakaz, a może dba o takie szczegóły, może ma serwis dla ludzi przebywających w zapomnianych zakątkach z niestabilną sytuacją geopolityczną? A co by było, gdyby np. Polska zrezygnowała z czasu letniego/zimowego? Taki temat w końcu musiał się pojawić smile.gif
nospor
@salfunglandyare kolega sam napisal, ze dziala na strefach, ktore sie nie zmieniają
Cytat
choć tak jak wspomniałeś najczęściej dotyczą timezones, z których moi użytkownicy pewnie nigdy nie skorzystają

tongue.gif

Ale on chce to zrobic "dobrze i na wieki". By tak zrobic, musisz miec dostep do serwisu, ktory aktualizuje strefy co 5 minut. Tada.

Cytat
np. Polska zrezygnowała z czasu letniego/zimowego
To by było poprostu straszne.... A nie, moze poprostu by sie napisalo do chlopakow z php, by zaktualizowali paczke wink.gif A do tego czasu recznie by sie to obsluzylo w naszym skrypcie.
No nie popadajmy w paranoje.
salfunglandyare
Kolega napisał, że potrzebuje smile.gif
Ręcznie? No przecież to by się świat zawalił! A jak w tym samym czasie wprowadza strefy czasowe co pol godziny? Brrr... strach pomyslec, a jeszcze gorzej, jakby wielka asteroida uderzyla w ziemie i zmieniłaby oś obrotu ziemii, wtedy zupelnie by sie strefy czasowe pokićkały... chociaż wtedy chyba nikt by sobie tym głowy nie zawracał tongue.gif no dobra, bo OT leci, a ja za duzo sie gniotkow na SciFi naogladalem tongue.gif
nospor
Cytat
a ja za duzo sie gniotkow na SciFi naogladalem
Popijajac przy tym duuuuuzo piwa i do dzis jeszcze nie wywietrzalo wink.gif
salfunglandyare
Dobry programista powinien przygotować swój kod na każdą ewentualność, nawet tę najbardziej nieprawdopodobną tongue.gif Jeśli jakiś Szach wejdzie na stronę i stwierdzi, że ustawiona przez niego dekretem godzina jest wyświetlana błędnie, może być bardzo niezadowolony!
nospor
To jak wejdzie Szach, to zaraz potem wejdzie Mat i mu przejdzie to niezadowolenie wink.gif
salfunglandyare
Mat też raczej będzie niezadowolony, choćby z obecności Szacha, no ale to już inna kwestia i zupełnie omijamy temat wątku tongue.gif
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.