前言
- 这篇文章,不会解释什么是本初子午线,只想以做实验的方式来理解数据差8小时的问题。下面就先说结论,再来谈原理。
解决方案
- 想必大家都很清楚:中国标准时间= UTC + 8小时。
- 那么所有和时区有关的地方,都有可能成为“凶手”。
如果是java写入es怎么解决时区问题?
- 如果你使用java程序来写入es,我推荐你写入带T的时间字符串。提供程序如下:
/**
* String timeZoneConvert = timeZoneConvert(
* new Date().getTime()
* , "yyyy-MM-dd'T'HH:mm:ss.SSSZ",
* "Asia/Shanghai");
*
* @param date 毫秒
* @param pattern format时间格式
* @param timeZone 时区
* @return 如:2019-12-30T16:32:07.616+0800
*/
public static String timeZoneConvert(Long date,String pattern,String timeZone){
SimpleDateFormat simpleDateFormat=new SimpleDateFormat(pattern);
simpleDateFormat.setTimeZone(TimeZone.getTimeZone(timeZone));
return simpleDateFor