package org.skywalking.apm.collector.worker.tools;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.TimeZone;
/**
* @author pengys5
*/
public class DateTools {
private static final SimpleDateFormat DAY_DATE_FORMAT = new SimpleDateFormat("yyyyMMdd");
private static final SimpleDateFormat HOUR_DATE_FORMAT = new SimpleDateFormat("yyyyMMddHH");
private static final SimpleDateFormat MINUTE_DATE_FORMAT = new SimpleDateFormat("yyyyMMddHHmm");
public static int getSecond(long time) {
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(time);
return calendar.get(Calendar.SECOND);
}
public static long getMinuteSlice(long time) {
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(time);
String timeStr = MINUTE_DATE_FORMAT.format(calendar.getTime());
return Long.valueOf(timeStr);
}
public static long getHourSlice(long time) {
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(time);
String timeStr = HOUR_DATE_FORMAT.format(calendar.getTime()) + "00";
return Long.valueOf(timeStr);
}
public static long getDaySlice(long time) {
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(time);
String timeStr = DAY_DATE_FORMAT.format(calendar.getTime()) + "0000";
return Long.valueOf(timeStr);
}
public static long changeToUTCSlice(long timeSlice) {
String timeSliceStr = String.valueOf(timeSlice);
if (TimeZone.getDefault().getID().equals("GMT+08:00") || timeSliceStr.endsWith("0000")) {
return timeSlice;
} else {
return timeSlice - 800;
}
}
}