前言:《三国演义》第46回草船借箭,孔明对鲁肃说“为将而不通天文,不识地利,不知奇门,不晓阴阳,不看阵图,不明兵势,是庸才也。”那么程序员也一样,作为一个全能型的程序员,须得上知天文,下知地理。现在有一个统计全球各地的用户在一天当中的每个时段的使用频率。也就是说,我大天朝的15点和蛮夷小邦的15点统计在一起,所以要解决时区问题。
解决思路是这样的,我以一个时区作为参照点,其它时区的时间根据所处的时区进行时间相加减即可。用户上传的时间是unix时间戳,是0时区的时间,就以他作为参照点。现在的问题只剩下计算出用户的时区与0时区的时间差距即可。
怎么计算这个时间差距?用户给了gps信息,是不是可以调用第三方接口?
绝对不行!!!
因为这是大数据项目,网络传输都是致命的!况且接口有次数限制,超过免费次数后要收钱,这是最棘手的。那怎么搞?何不自己解析呢,虽然程序员大多理科出身,但是高中地理可不是白读的!
我们先来复习一下高中地理经纬度的课程: