/** * periodInMillis:時間間隔毫秒數 * currentInMillis :當前時間毫秒數 * timezoneInMillis: 8小時 對應的毫秒數 **/ public static String collectIndexForTime(long periodInMillis, long currentInMillis , long timezoneInMillis) {app
currentInMillis += timezoneInMillis; if (currentInMillis <= periodInMillis) { return 0; } long time = currentInMillis/periodInMillis * periodInMillis - timezoneInMillis; String start = DateFormatUtils.format(time, Consts.DATE_FORMAT_INDEX); String end = DateFormatUtils.format(time+periodInMillis-1, Consts.DATE_FORMAT_INDEX); StringBuilder sb = new StringBuilder(); sb.append(start).append(ES_INDEX_SPLIT_STR).append(end); return sb.toString(); } 這段代碼能實現:假如:periodInMillis = 432000000(5天) 當前時間:System.currentTimeMillis()ui
返回的結果會是:20181210-20181214orm
若是當前時間是20181216,這返回結果就會是:20181214-20181219io
不知道上面的實現原理?有沒有大神給解釋下。form