在网上看到有网友说本身最近在和印度的SP在查对统计数据的过程当中,发明统计的数据存在时区的题目。本文主如果就以上题目作出的处理。他给对方供应的接口猎取指定date的统计效果,是根据中国的时区来掌握的。光荣的是在数据库中存储的是国际时候戳,因而只须要在接口处肯定挪用方是哪一个时区的即可猎取准确的统计效果信息。
处理计划参考以下,即在SimpleDateFormat对象基本上须要明白当前须要运用的时区是什么。
SimpleDateFormat.setTimeZone(TimeZone);
// Java: long timeMs = System.currentTimeMillis(); System.out.println("long = " + timeMs); // current time zone SimpleDateFormat default = new SimpleDateFormat("yyyy-MM-dd HH:mm"); System.out.println(default.format(timeMs)); // +8:00 time zone SimpleDateFormat chinaFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm"); chinaFormat.setTimeZone(TimeZone.getTimeZone("GMT+8:00")); System.out.println("GMT+8:00 = " + chinaFormat.format(timeMs)); // +5:30 time zone SimpleDateFormat indiaFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm"); indiaFormat.setTimeZone(TimeZone.getTimeZone("GMT+5:30")); System.out.println("GMT+5:30 = " + indiaFormat.format(timeMs));
运用如上要领实在就能够处理时区题目,因为我当时猎取统计数据是经由过程小时表猎取的且小时表是一小时一条纪录。而印度时区为GMT+5:30,在当前表构造的基本上会存在半小时数据误差的题目,因而为了处理该题目我们修正小时表的统计粒度为半小时。
总结:
该博客只是简朴的说出重点的处理时区的计划,在运用该计划的条件是数据库中存储的是国际时候戳!!!
只要基于相对时候戳的时候存储,从根本上就没有时区的题目!!!时区只是一个显现题目!!!
天天提高一点点~
【引荐课程:MySQL视频教程】
以上就是关于MySQL在保留时候信息上的发起的细致内容,更多请关注ki4网别的相干文章!