Re: Re: User Timezone
| From: | Karl DeSaulniers | Date: | Sun, 21 Oct 2012 23:18:42 +0000 |
| Subject: | Re: Re: User Timezone | ||
| References: | 1 2 3 4 5 6 7 8 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-319546@lists.php.net to get a copy of this message | ||
On Oct 21, 2012, at 5:11 PM, tamouse mailing lists wrote:
On Sun, Oct 21, 2012 at 7:30 AM, Matijn Woudt <tijnema@gmail.com> wrote:I am not familiar with this. Can you elaborate? Best, Karl DeSaulniers Design Drumm http://designdrumm.comOn Sun, Oct 21, 2012 at 12:01 PM, Maciek Sokolewicz <maciek.sokolewicz@gmail.com> wrote:Using the standard labels in /usr/share/zoneinfo should be able to avoid having to keep track of who is and isn't in DST, *provided* you find a way to map the user's address to one of those files.On 21-10-2012 01:11, Karl DeSaulniers wrote: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. - MatijnAs 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. :) - TulThat 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.comThanks 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.comGeo 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.