🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.php
Article #230435

Re: jak wygenerować datę

#230435
From: XJL
Date: Wed, 28 May 2014 06:45
35 lines
2703 bytes
W dniu 28.05.2014 01:10, artiun pisze:
> W dniu 2014-05-26 09:14, Borys Pogoreło pisze:
>> Dnia Sun, 25 May 2014 05:57:17 +0000 (UTC), astro napisał(a):
>>
>>> http://pl.wikipedia.org/wiki/Czas_uniksowy
>>> wiec wystarczy do tej wartosci dodac/odjac ilosc sekund - w tym wypadku,
>>> jakie uplynely w ciagu 31 dni.
>>>
>>> $date = time() - (31 * 24 * 60 * 60);
>>
>> .... zakładając, że liczysz tuż po północy, a w badanym okresie nastąpiła
>> zmiana czasu, to zgadnij co wyjdzie.
>>
> Zmiana godziny, czasu letniego na zimowy i odwrotnie nie następuje o
> godzinie 00. Czy wówczas zmienia się dzień tygodnia? Nie będę Ci
> podpowiadał. To jest do zrobienia.

Samodzielnie jest to cholernie trudne do zrobienia. Oprócz czasu 
letniego/zimowego jest jeszcze mnóstwo obostrzeń, takich jak lata 
przestępne, sekundy przestępne, zmiany czasu o pół godziny[1], o 45 
minut, sześć godzin [2], czy też o 5 godzin i 52 minuty [3]

Wyjątków jest tak dużo, że jeśli potrzebne jest dokładne wyliczenie 
różnicy czasu, dla każdego locale i każdej strefy czasowej, to nie ma 
innego wyjścia jak skorzystać z kobylastych bibliotek które mają te 
wszystkie wyjątki zapisane - takich jak wspomniana przez xantirosa.

W Polsce nie znajdziemy tak kuriozalnych wyjątków, ale pisząć 
oprogramowanie nie powinno się z góry zakładać, że tylko w Polsce będzie 
ono używane.

[1] 
http://www.reuters.com/article/2007/08/24/us-venezuela-time-idUSN2328980320070824
[2] http://www.timeanddate.com/time/time-zones-interesting.html
[3] http://www.timeanddate.com/time/change/china/shanghai?year=1927
Technical Details
Message-ID: <lm40lu$m60$1@node1.news.atman.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail
References: <llo75h$ahk$1@node1.news.atman.pl> <lls0ns$lm5$1@portraits.wsisiz.edu.pl> <crb4wrdd64pq$.n4bez0rtc943.dlg@40tude.net> <53851c96$0$2243$65785112@news.neostrada.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail
From: XJL <XJL@wp.pl.invalid>
Newsgroups: pl.comp.lang.php
Subject: Re: jak wygenerować datę
Date: Wed, 28 May 2014 08:45:17 +0200
Organization: ATMAN - ATM S.A.
Lines: 36
Message-ID: <lm40lu$m60$1@node1.news.atman.pl>
References: <llo75h$ahk$1@node1.news.atman.pl> <lls0ns$lm5$1@portraits.wsisiz.edu.pl> <crb4wrdd64pq$.n4bez0rtc943.dlg@40tude.net> <53851c96$0$2243$65785112@news.neostrada.pl>
NNTP-Posting-Host: 2001:6a0:200:839e:626c:66ff:fe76:8761
Mime-Version: 1.0
X-Trace: node1.news.atman.pl 1401259518 22720 2001:6a0:200:839e:626c:66ff:fe76:8761 (28 May 2014 06:45:18 GMT)
X-Complaints-To: usenet@atman.pl
NNTP-Posting-Date: Wed, 28 May 2014 06:45:18 +0000 (UTC)
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0
In-Reply-To: <53851c96$0$2243$65785112@news.neostrada.pl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit