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@xxxxxxxxx] Enviada em: domingo, 21 de outubro de 2012 10:30 Para: Maciek Sokolewicz Cc: Karl DeSaulniers; php-general Assunto: Re: Re: User Timezone On Sun, Oct 21, 2012 at 12:01 PM, Maciek Sokolewicz <maciek.sokolewicz@xxxxxxxxx> 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 -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php