获取今天开始和现在的时间戳
public static long[] getTodayTimeFrame() {
Calendar calendar = Calendar.getInstance();
long[] frames = new long[]{0, 0};
frames[1] = calendar.getTimeInMillis(); // 当前时间戳
calendar.set(Calendar.HOUR_OF_DAY, 0); // 24小时制
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
frames[0] = calendar.getTimeInMillis(); // 今日0时的时间戳
return frames;
}
获取今天开始和结束的时间戳
public static long[] getTodayTimeFrame() {
Calendar calendar = Calendar.getInstance();
long[] frames = new long[]{0, 0};
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
frames[0] = calendar.getTimeInMillis(); // 今日0时的时间戳
frames[1] = frames[0] + 86400000 - 1; // 明日0时前的时间戳,86400000是24小时的毫秒数
return frames;
}
获取昨天开始和结束的时间戳
public static long[] getYesterdayTimeFrame() {
Calendar calendar = Calendar.getInstance();
long[] frames = new long[]{0, 0};
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
frames[1] = calendar.getTimeInMillis()-1;
frames[0] = calendar.getTimeInMillis() - 86400000;
return frames;
}
获取前天开始和结束的时间戳
public static long[] getBeforYesterdayTimeFrame() {
Calendar calendar = Calendar.getInstance();
long[] frames = new long[]{0, 0};
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
frames[1] = calendar.getTimeInMillis() - 86400001;
frames[0] = calendar.getTimeInMillis() - 172800000;
return frames;
}
获取本周开始到现在的时间戳
public static long[] getThisWeekTimeFrame() {
Calendar calendar = Calendar.getInstance();
long[] frames = new long[]{0, 0};
frames[1] = calendar.getTimeInMillis();
calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
frames[0] = calendar.getTimeInMillis();
return frames;
}
获取上周开始到结束的时间戳
public static long[] getLastWeekTimeFrame() {
Calendar calendar = Calendar.getInstance();
long[] frames = new long[]{0, 0};
calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
frames[1] = calendar.getTimeInMillis();
calendar.add(Calendar.DAY_OF_WEEK, -7);
frames[0] = calendar.getTimeInMillis();
return frames;
}
获取上上周开始到结束的时间戳
public static long[] getBeforeLastWeekTimeFrame() {
Calendar calendar = Calendar.getInstance();
long[] frames = new long[]{0, 0};
calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
calendar.add(Calendar.DAY_OF_WEEK, -7);
frames[1] = calendar.getTimeInMillis();
calendar.add(Calendar.DAY_OF_WEEK, -7);
frames[0] = calendar.getTimeInMillis();
return frames;
}
本文介绍了一种通过Java的Calendar类获取特定日期范围开始和结束时间戳的方法,包括今天、昨天、前天、本周、上周及上上周的时间帧,适用于日志分析、数据统计等场景。
2万+

被折叠的 条评论
为什么被折叠?



