Java里面数据和mongo交互时,需要做时区转换,否则会有8小时的时间差。
这个地方我封装一个类,每次都将前端传来的时间进行时区转换,然后再进行mongo查询。
package com.yzkj.zf.utils;
import org.apache.commons.lang3.StringUtils;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Locale;
import java.util.SimpleTimeZone;
public class ConversionTime {
private static String CONVERT_DATE_FORMAT = "yyyy-MM-dd HH:mm:ss";
public static Date conversionTime(String ReceiveTime, String defaultTime) {
String startTimeNew;
if (StringUtils.isNotEmpty(ReceiveTime)) {
startTimeNew = ReceiveTime;
} else {
startTimeNew = defaultTime;
}
Date ReceiveTimeNew = null;
try {
SimpleDateFormat format = new SimpleDateFormat(CONVERT_DATE_FORMAT, Locale.SIMPLIFIED_CHINESE);
format.setCalendar(new GregorianCalendar(new SimpleTimeZone(0, "GMT")));
ReceiveTimeNew = format.parse(startTimeNew);
} catch (ParseException e) {
e.printStackTrace();
}
return ReceiveTimeNew;
}
}