知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

UNIX时间戳换算问题

发布时间:2014-09-05 14:51:30作者:知识屋

UNIX时间戳换算问题
 
   公司项目需要查询远在美国的数据库,而那边存放的数据库的时间是以当地的时间戳来存放的,当查询数据的时候就出现了问题,若用日期like查询和用UNIX时间戳查询出来的是不一样的结果,怎样处理这样的时间差值呢? 
 
    首先,我们需要理解两个概念,就是日期和UNIX时间戳,日期是有时区分别的,就比如,我们这里是 2013-04-12 23:33:23 而在美国的日期是:2013-04-12 10:33:23也就是是说美国所用时区(西五区)比东八区晚十三个小时。
 
而UNIX时间戳是指从1971年一月一日到今天所经历的秒数。是没有时区差别的,也就是说,某个时间点的时间戳是全球统一的。
 
你比如我们时间戳到了1000000,我们的日期是 2013-04-12 23:33:23,同时,美国的时间戳也到了1000000,而他们的日期是2013-04-12 10:33:23,若要等到他们的日期为2013-04-12 23:33:23则时间戳会是:1000000+3600*13,所以我们在以这边的日期去查询的时候需要的是加上 相差的十三个小时的时间戳,而不是减去。
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜