package com.qianwen.mdc.utils;
|
|
import java.util.Calendar;
|
|
/**
|
* @author: tianmingqiang
|
* @date: 2019/11/26 21:28
|
* @description: TimestampUtil
|
*/
|
public class TimestampUtil {
|
public static String getDate() {
|
Calendar cl = Calendar.getInstance();
|
|
int year = cl.get(Calendar.YEAR);
|
int month = cl.get(Calendar.MONTH) + 1;
|
int day = cl.get(Calendar.DAY_OF_MONTH);
|
|
return String.format("%04d%02d%02d", year, month, day);
|
}
|
|
public static long getCurrentTimestamp() {
|
Calendar cl = Calendar.getInstance();
|
|
return cl.getTimeInMillis() / 1000;
|
}
|
|
public static long getDayStartTimestamp() {
|
Calendar cl = Calendar.getInstance();
|
cl.set(Calendar.HOUR_OF_DAY, 0);
|
cl.set(Calendar.MINUTE, 0);
|
cl.set(Calendar.SECOND, 0);
|
|
return cl.getTimeInMillis() / 1000;
|
}
|
|
public static long getDayStartTimestamp(long time) {
|
Calendar cl = Calendar.getInstance();
|
cl.setTimeInMillis(time*1000);
|
cl.set(Calendar.HOUR_OF_DAY, 0);
|
cl.set(Calendar.MINUTE, 0);
|
cl.set(Calendar.SECOND, 0);
|
|
return cl.getTimeInMillis() / 1000;
|
}
|
|
/**
|
* 获取当天早8点距离1970/1/1的秒数。早于8点,计为头一天的
|
* @return
|
*/
|
public static long getShiftDayStartTimestamp() {
|
Calendar cl = Calendar.getInstance();
|
if (cl.get(Calendar.HOUR_OF_DAY) < 8) {
|
cl.add(Calendar.DAY_OF_MONTH, -1);
|
}
|
cl.set(Calendar.HOUR_OF_DAY, 8);
|
cl.set(Calendar.MINUTE, 0);
|
cl.set(Calendar.SECOND, 0);
|
|
return cl.getTimeInMillis() / 1000;
|
}
|
|
public static long getShiftDayStartTimestamp(long time) {
|
Calendar cl = Calendar.getInstance();
|
cl.setTimeInMillis(time*1000);
|
if (cl.get(Calendar.HOUR_OF_DAY) < 8) {
|
cl.add(Calendar.DAY_OF_MONTH, -1);
|
}
|
cl.set(Calendar.HOUR_OF_DAY, 8);
|
cl.set(Calendar.MINUTE, 0);
|
cl.set(Calendar.SECOND, 0);
|
|
return cl.getTimeInMillis() / 1000;
|
}
|
|
public static long getDayEndTimestamp() {
|
Calendar cl = Calendar.getInstance();
|
cl.set(Calendar.HOUR_OF_DAY, 23);
|
cl.set(Calendar.MINUTE, 59);
|
cl.set(Calendar.SECOND, 59);
|
|
return cl.getTimeInMillis() / 1000;
|
}
|
|
public static long getDayEndTimestamp(long time) {
|
Calendar cl = Calendar.getInstance();
|
cl.setTimeInMillis(time*1000);
|
cl.set(Calendar.HOUR_OF_DAY, 23);
|
cl.set(Calendar.MINUTE, 59);
|
cl.set(Calendar.SECOND, 59);
|
|
return cl.getTimeInMillis() / 1000;
|
}
|
|
public static long getShiftDayEndTimestamp() {
|
Calendar cl = Calendar.getInstance();
|
if (cl.get(Calendar.HOUR_OF_DAY) >= 8) {
|
cl.add(Calendar.DAY_OF_MONTH, 1);
|
}
|
cl.set(Calendar.HOUR_OF_DAY, 7);
|
cl.set(Calendar.MINUTE, 59);
|
cl.set(Calendar.SECOND, 59);
|
|
return cl.getTimeInMillis() / 1000;
|
}
|
|
public static long getShiftDayEndTimestamp(long time) {
|
Calendar cl = Calendar.getInstance();
|
cl.setTimeInMillis(time*1000);
|
if (cl.get(Calendar.HOUR_OF_DAY) >= 8) {
|
cl.add(Calendar.DAY_OF_MONTH, 1);
|
}
|
cl.set(Calendar.HOUR_OF_DAY, 7);
|
cl.set(Calendar.MINUTE, 59);
|
cl.set(Calendar.SECOND, 59);
|
|
return cl.getTimeInMillis() / 1000;
|
}
|
|
public static long getPrevDayStartTimestamp() {
|
Calendar cl = Calendar.getInstance();
|
cl.add(Calendar.DAY_OF_MONTH, -1);
|
cl.set(Calendar.HOUR_OF_DAY, 0);
|
cl.set(Calendar.MINUTE, 0);
|
cl.set(Calendar.SECOND, 0);
|
|
return cl.getTimeInMillis() / 1000;
|
}
|
|
public static long getPrevDayStartTimestamp(long time) {
|
Calendar cl = Calendar.getInstance();
|
cl.setTimeInMillis(time*1000);
|
cl.add(Calendar.DAY_OF_MONTH, -1);
|
cl.set(Calendar.HOUR_OF_DAY, 0);
|
cl.set(Calendar.MINUTE, 0);
|
cl.set(Calendar.SECOND, 0);
|
|
return cl.getTimeInMillis() / 1000;
|
}
|
|
public static long getPrevDayEndTimestamp() {
|
Calendar cl = Calendar.getInstance();
|
cl.add(Calendar.DAY_OF_MONTH, -1);
|
cl.set(Calendar.HOUR_OF_DAY, 23);
|
cl.set(Calendar.MINUTE, 59);
|
cl.set(Calendar.SECOND, 59);
|
|
return cl.getTimeInMillis() / 1000;
|
}
|
|
public static long getPrevDayEndTimestamp(long time) {
|
Calendar cl = Calendar.getInstance();
|
cl.setTimeInMillis(time*1000);
|
cl.add(Calendar.DAY_OF_MONTH, -1);
|
cl.set(Calendar.HOUR_OF_DAY, 23);
|
cl.set(Calendar.MINUTE, 59);
|
cl.set(Calendar.SECOND, 59);
|
|
return cl.getTimeInMillis() / 1000;
|
}
|
|
public static long getNextDayStartTimestamp() {
|
Calendar cl = Calendar.getInstance();
|
cl.add(Calendar.DAY_OF_MONTH, 1);
|
cl.set(Calendar.HOUR_OF_DAY, 0);
|
cl.set(Calendar.MINUTE, 0);
|
cl.set(Calendar.SECOND, 0);
|
|
return cl.getTimeInMillis() / 1000;
|
}
|
|
public static long getNextDayStartTimestamp(long time) {
|
Calendar cl = Calendar.getInstance();
|
cl.setTimeInMillis(time*1000);
|
cl.add(Calendar.DAY_OF_MONTH, 1);
|
cl.set(Calendar.HOUR_OF_DAY, 0);
|
cl.set(Calendar.MINUTE, 0);
|
cl.set(Calendar.SECOND, 0);
|
|
return cl.getTimeInMillis() / 1000;
|
}
|
|
public static long getNextDayEndTimestamp() {
|
Calendar cl = Calendar.getInstance();
|
cl.add(Calendar.DAY_OF_MONTH, 1);
|
cl.set(Calendar.HOUR_OF_DAY, 23);
|
cl.set(Calendar.MINUTE, 59);
|
cl.set(Calendar.SECOND, 59);
|
|
return cl.getTimeInMillis() / 1000;
|
}
|
|
public static long getNextDayEndTimestamp(long time) {
|
Calendar cl = Calendar.getInstance();
|
cl.setTimeInMillis(time*1000);
|
cl.add(Calendar.DAY_OF_MONTH, 1);
|
cl.set(Calendar.HOUR_OF_DAY, 23);
|
cl.set(Calendar.MINUTE, 59);
|
cl.set(Calendar.SECOND, 59);
|
|
return cl.getTimeInMillis() / 1000;
|
}
|
|
public static long getWeekStartTimestamp() {
|
Calendar cl = Calendar.getInstance();
|
cl.set(Calendar.DAY_OF_WEEK, 2);
|
cl.set(Calendar.HOUR_OF_DAY, 0);
|
cl.set(Calendar.MINUTE, 0);
|
cl.set(Calendar.SECOND, 0);
|
|
return cl.getTimeInMillis() / 1000;
|
}
|
|
public static long getWeekStartTimestamp(long time) {
|
Calendar cl = Calendar.getInstance();
|
cl.setTimeInMillis(time*1000);
|
cl.set(Calendar.DAY_OF_WEEK, 2);
|
cl.set(Calendar.HOUR_OF_DAY, 0);
|
cl.set(Calendar.MINUTE, 0);
|
cl.set(Calendar.SECOND, 0);
|
|
return cl.getTimeInMillis() / 1000;
|
}
|
|
public static long getShiftWeekStartTimestamp() {
|
Calendar cl = Calendar.getInstance();
|
cl.set(Calendar.DAY_OF_WEEK, 2);
|
cl.set(Calendar.HOUR_OF_DAY, 8);
|
cl.set(Calendar.MINUTE, 0);
|
cl.set(Calendar.SECOND, 0);
|
|
return cl.getTimeInMillis() / 1000;
|
}
|
|
public static long getMonthStartTimestamp() {
|
Calendar cl = Calendar.getInstance();
|
cl.add(Calendar.MONTH, 0);
|
cl.set(Calendar.DAY_OF_MONTH, 1);
|
cl.set(Calendar.HOUR_OF_DAY, 0);
|
cl.set(Calendar.MINUTE, 0);
|
cl.set(Calendar.SECOND, 0);
|
|
return cl.getTimeInMillis() / 1000;
|
}
|
|
public static long getMonthStartTimestamp(long time) {
|
Calendar cl = Calendar.getInstance();
|
cl.setTimeInMillis(time*1000);
|
cl.add(Calendar.MONTH, 0);
|
cl.set(Calendar.DAY_OF_MONTH, 1);
|
cl.set(Calendar.HOUR_OF_DAY, 0);
|
cl.set(Calendar.MINUTE, 0);
|
cl.set(Calendar.SECOND, 0);
|
|
return cl.getTimeInMillis() / 1000;
|
}
|
|
public static long getShiftMonthStartTimestamp() {
|
Calendar cl = Calendar.getInstance();
|
cl.add(Calendar.MONTH, 0);
|
cl.set(Calendar.DAY_OF_MONTH, 1);
|
cl.set(Calendar.HOUR_OF_DAY, 8);
|
cl.set(Calendar.MINUTE, 0);
|
cl.set(Calendar.SECOND, 0);
|
|
return cl.getTimeInMillis() / 1000;
|
}
|
}
|