package com.paic.wiseapm.alert.util;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class TimeUtil {
public static final long ONE_DAY = 24 * 3600 * 1000L;
public static String getDay(long time) {
if (time < 2559699611L) {// input value is millisecond
time = time * 1000L;
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
Date date = new Date();
date.setTime(time);
return sdf.format(date);
}
public static void main(String[] args) {
List<String> days = getDays(1560135951, 1560654351);
System.out.println(days);
System.out.println(days.size());
}
public static List<String> getDays(long start, long end) {
// TODO Auto-generated method stub
List<String> days = new ArrayList<String>();
if (start < 2559699611L) {// input value is millisecond
start = start * 1000L;
}
if (end < 2559699611L) {// input value is millisecond
end = end * 1000L;
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
Date date = new Date();
for (long time = start; time < end; time = time + TimeUtil.ONE_DAY) {
date.setTime(time);
String day = sdf.format(date);
days.add(day);
}
String endDay = getDay(end);
if (days != null && days.size() > 0) {
if (!days.get(days.size() - 1).equalsIgnoreCase(endDay)) {
days.add(endDay);
}
}
return days;
}
public static String getTimeFromMongoId(String mongoId) {
long time = new Date(Long.parseLong(Integer.parseInt(mongoId.substring(0, 8), 16) + "000")).getTime();
String day = TimeUtil.getDay(time);
return day;
}
}