Is there an easy way to determine which hemisphere a user is in?

You could use the navigator.geolocation method to avoid any sort of IP service.


I'd first check the client's clock- if daylight savings exists in the client's calendar, you can tell if he is north or south of the equator.

if there is no dst information, you can use geolocation,

or ask the user if he is south of the equator...

window.whatHemisphere= (function(){
    var y= new Date().getFullYear();
    if(y.getTimezoneOffset()==undefined) return null;
    var jan= -(new Date(y, 0, 1, 0, 0, 0, 0).getTimezoneOffset()),
    jul= -(new Date(y, 6, 1, 0, 0, 0, 0).getTimezoneOffset()),
    diff= jan-jul;
    if(diff> 0) return 'N';
    if(diff< 0) return 'S'
    return null;
})()