java日期判断
程序员文章站
2022-05-17 21:27:24
...
未完待续
目录:之前月份初始
当月一号判断
一。指定日期 之前月份的起始
/**
* 获取时间段 查询的起始时间
* @param num 根据num 拿到指定前几个月
*/
public Map<String,Long> getTimeByNum(int num,Date date) {
Map<String,Long> paramMap = new HashMap<>();
Calendar c=Calendar.getInstance();
c.add(Calendar.MONTH, -num);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String gtimelast = sdf.format(c.getTime()); //上月
System.out.println(gtimelast);
int lastMonthMaxDay=c.getActualMaximum(Calendar.DAY_OF_MONTH);
System.out.println(lastMonthMaxDay);
c.set(c.get(Calendar.YEAR), c.get(Calendar.MONTH), lastMonthMaxDay, 23, 59, 59);
//按格式输出
String gtime = sdf.format(c.getTime()); //上月最后一天
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-01 00:00:00");
String gtime2 = sdf2.format(c.getTime()); //上月第一天
paramMap.put("start_time",DateUtil.dateStringToLong(gtime2));
paramMap.put("end_time",DateUtil.dateStringToLong(gtime));
paramMap.put("report_time",DateUtil.dateStringToLong(gtime2));
XxlJobLogger.log("BookClickCollectJobHandler 查询的开始时间 : "+gtime2 + "结束时间 :" + gtime);
return paramMap;
}
二。 判断是否是当月一号
/**
* 判断今天是不是1号
*
* @return
*/
private boolean isFirstDayOfMonth() {
int day = Calendar.getInstance(Locale.CHINA).get(Calendar.DAY_OF_MONTH);
if (day != 1) {
return false;
}
return true;
}
上一篇: 智能硬件创业如何存活下来