关于MySQL在保留工夫信息上的倡议
在网上看到有网友说本人比来在和印度的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在保留工夫信息上的倡议的细致内容,更多请关注 百分百源码网 其它相干文章!