// DateUtil
// beginOfDay endOfDay 获取当天的最早时间与最晚时间
// offsetDay 向前或向后推移几天,向前为负数,向后为正数
// cn.hutool.core.date.DateUtil
private Long startTime;
private Long endTime;
startTime = DateUtil.beginOfDay(DateUtil.offsetDay(new Date(), 0)).getTime() / 1000;
endTime = DateUtil.endOfDay(DateUtil.offsetDay(new Date(), 0)).getTime() / 1000;
-------------------------------------------------------------------------------------
// 获取当天,当周
public static final String DATE_FORMAT_DAY_TIME = "yyyy-MM-dd HH:mm:ss";
public static final String DATE_TYPE_WEEK = "week";
public static final String DATE_TYPE_MONTH = "month";
public static final String DATE_TYPE_YEAR = "year";
public static final String DATE_TYPE_DAY = "day";
public static Map<String,String> getTimeRange(String dateFormat,String dateType,Date date){
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.setTimeZone(TimeZone.getTimeZone("GMT+8"));
if("week".equals(dateType)){
if (calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {
calendar.add(Calendar.DAY_OF_YEAR,-1);
}
calendar.add(Calendar.DAY_OF_WEEK, -(calendar.get(Calendar.DAY_OF_WEEK) - 2));
} else if ("month".equals(dateType)) {
calendar.add(Calendar.MONTH, 0);
calendar.set(Calendar.DAY_OF_MONTH, 1);
} else if ("year".equals(dateType)) {
calendar.add(Calendar.YEAR, 0); // -1表示去年,0表示今年,1表示明年月,上下年份以此类型
calendar.set(Calendar.DAY_OF_YEAR, calendar.getActualMinimum(Calendar.DAY_OF_YEAR));
}
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
long startTime = calendar.getTimeInMillis();
//end of the week
if("week".equals(dateType)){
calendar.add(Calendar.DAY_OF_WEEK, 6);
}else if ("month".equals(dateType)) {
calendar.add(Calendar.MONTH, 1);
calendar.set(Calendar.DAY_OF_MONTH, 0);
}else if ("year".equals(dateType)) {
calendar.add(Calendar.YEAR, 0); // -1表示去年,0表示今年,1表示明年月,上下年份以此类型
calendar.set(Calendar.DAY_OF_YEAR, calendar.getActualMaximum(Calendar.DAY_OF_YEAR));
}
calendar.set(Calendar.HOUR_OF_DAY, 23);
calendar.set(Calendar.MINUTE, 59);
calendar.set(Calendar.SECOND, 59);
calendar.set(Calendar.MILLISECOND, 999);
long endTime = calendar.getTimeInMillis();
SimpleDateFormat format = new SimpleDateFormat(dateFormat);
System.out.println(format.format(startTime));
System.out.println(format.format(endTime));
Map<String,String> map = new HashMap<>();
map.put("startTime",format.format(startTime));
map.put("endTime",format.format(endTime));
return map;
}
java date的一些操作
最新推荐文章于 2023-11-28 16:43:08 发布