问题:由于地球有不同的时区;所以存在不同的地区,日期和时分秒相同时,时间戳是不同的!例:美国的2020-04-20 10:00:00 与 北京的 2020-04-20 10:00:00是不同概念;
因此存在在日期区间查询时,不同地区,需要转为不同的时间戳,转为时间戳区间查询;
转换规则如下
LocalDateTime localDateTime = LocalDateTime.parse(day + " 18:00:00", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
Long timeStart = localDateTime.toEpochSecond(ZoneOffset.ofHours("+时区+"));
Long timeEnd = timeStart + 86400;
public static Long date2TimeStampByTimeZone(String day, String zone) {
int timezone = Integer.parseInt(zone);
LocalDateTime localDateTime = LocalDateTime.parse(day, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
Long time = localDateTime.toEpochSecond(ZoneOffset.ofHours(timezone));
return time;
}
```
具体关系可以参考
[https://blog.csdn.net/u014044812/article/details/79231738](https://blog.csdn.net/u014044812/article/details/79231738)