RES: [PHP] Re: User Timezone
| From: | Samuel Lopes Grigolato | Date: | Sun, 21 Oct 2012 12:41:23 +0000 |
| Subject: | RES: [PHP] Re: User Timezone | ||
| References: | 1 2 3 4 5 6 7 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-319541@lists.php.net to get a copy of this message | ||
Coincidentally, TODAY I had to adjust my clock one hour forward because of DST (poor sleep =[). No
so easy-to-solve problem, after all...
-----Mensagem original-----
De: Matijn Woudt [mailto:tijnema@gmail.com]
Enviada em: domingo, 21 de outubro de 2012 10:30
Para: Maciek Sokolewicz
Cc: Karl DeSaulniers; php-general
Assunto: Re: [PHP] Re: User Timezone
On Sun, Oct 21, 2012 at 12:01 PM, Maciek Sokolewicz <maciek.sokolewicz@gmail.com> wrote:
> On 21-10-2012 01:11, Karl DeSaulniers wrote:
>>>>
>>>> Thanks for the response. Yes, for the US I plan on calculating by
>>>> state, but this website is not geared to just the US.
>>>> So I am looking for a solution that lets me also calculate by
>>>> country/region.
>>>> Was looking on google and found geoip, but not sure if this will do
>>>> the job I am looking for.
>>>> Anyone with experience on geoip that can send pointers?
>>>>
>>>> Thanks,
>>>>
>>>>
>>>> Best,
>>>> Karl DeSaulniers
>>>> Design Drumm
>>>> http://designdrumm.com
>>>
>>>
>>>
>>> Geo IP is based on IP, and I must warn you that IP data is not
>>> always accurate. Especially here in Europe, companies that are based
>>> in multiple countries sometimes only register their IPs in a single
>>> country, and share them between all the countries they are active in.
>>> This will give you wrong data from GeoIP. The time difference will
>>> only be 1 hour at max, but still.
>>
>>
>>
>> That was what my own suspicions were leading to.
>> I am familiar with the fact that ips can be spoofed.
>> Thanks for the corroboration.
>>
>> Best,
>>
>> Karl DeSaulniers
>> Design Drumm
>> http://designdrumm.com
>>
>
> As Bart said, IP is not ideal for this situation.
>
> Since you do have information about the location of that person (as in
> country and possible state), you can find out the timezone via a
> static database.
>
> The HTML5 geolocation tool is nice, and would certainly help a lot!
> However, be aware of the fact that it only works if there is the
> device on which the browser runs actually has the ability to find out
> its location. Many smartphones have GPS chips, but most PCs don't.
> Asking a PC "where are you located?" the PC will answer "How should I
> know?".
>
> Luckily for you, the way of country and state is pretty easy. I've
> handed you a list to find it in the USA. For most countries in the
> world, there's a simple 1:1 mapping of timezone and country
> (http://en.wikipedia.org/wiki/List_of_time_zones_by_country), there
> are however 21 countries which have multiple timezones. In these
> cases, you'll need extra information to be able to distinguish between them.
>
> For the USA, you already have a way.
> For (ex-)colonical islands and such (such as for France), you could
> always add them to the country list:
> - France
> - France (Marquesas Islands)
> - France (Gambier)
> etc.
> Thus treating them as separate countries for your timezone db.
>
> In Russia, Canada, Australia, New Zealand, Brasil, Indonesia,
> Kiribati, Mexico,Congo, Ecuador, Micronesia, Kazakhstan and Mongolia
> you'll need to know their province / state to more accurately assess the ideal timezone.
>
> So for most countries, it's a simple 1:1 translation. For the above
> countries, you'll need some extra info, and translate further based on that.
> You should be able to find the info required yourself, it just takes a
> while to collect it.
>
> Alternatively, and this is the most simple way; since you're asking
> people for their country and such, simply also ask them about their
> timezone. Don't bother automating and putting a heck of a lot of time
> into hard to realize solutions, when you can ask a very simple and
> easy-to-answer question to the browser instead. :)
>
> - Tul
>
Don't forget that some countries have DST, and some don't. And those that have DST, all
use different dates.. So in to keep a static database you would also need to have DST info from all
countries.
- Matijn
--
PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php