在这里插入代码片
Date dateStr=new Date ();
//本月第一天
Date fristdata=getTimesMonthmorning(dateStr);
String fristdatastr=DateUtils.getDatatoString(fristdata);
System.out.println(fristdatastr);
//本月最后一天
Date lostdata=getTimesMonthnight(dateStr);
String lostdatastr=DateUtils.getDatatoString(lostdata);
System.out.println(lostdatastr);
//本季度第一天
Date QuarterStart=getCurrentQuarterStartTime(dateStr);
String QuarterStartstr=DateUtils.getDatatoString(QuarterStart);
System.out.println(QuarterStartstr);
//本季度最后yi天
Date QuarterEnd=getCurrentQuarterEndTime(dateStr);
String QuarterEndstr=DateUtils.getDatatoString(QuarterEnd);
System.out.println(QuarterEndstr);
//本年第一天
Date YearStart=getCurrentYearStartTime(dateStr);
String YearStartstr=DateUtils.getDatatoString(YearStart);
System.out.println(YearStartstr);
//本年最后yi天
Date YearEnd=getCurrentYearEndTime(dateStr);
String YearEndstr=DateUtils.getDatatoString(YearEnd);
System.out.println(YearEndstr);
// 获得本月第一天0点时间
public static Date getTimesMonthmorning(Date dateStr) {
Calendar cal = Calendar.getInstance();
cal.setTime(dateStr);
cal.set(Calendar.DAY_OF_MONTH, cal.getActualMinimum(Calendar.DAY_OF_MONTH));
return cal.getTime();
}
// 获得本月最后一天24点时间
public static Date getTimesMonthnight(Date dateStr) {
Calendar cal = Calendar.getInstance();
cal.setTime(dateStr);
cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DAY_OF_MONTH));
cal.set(Calendar.HOUR_OF_DAY, 24);
return cal.getTime();
}
public static Date getCurrentQuarterStartTime(Date dateStr) {
Calendar c = Calendar.getInstance();
c.setTime(dateStr);
int currentMonth = c.get(Calendar.MONTH) + 1;
SimpleDateFormat longSdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat shortSdf = new SimpleDateFormat("yyyy-MM-dd");
Date now = null;
try {
if (currentMonth >= 1 && currentMonth <= 3)
c.set(Calendar.MONTH, 0);
else if (currentMonth >= 4 && currentMonth <= 6)
c.set(Calendar.MONTH, 3);
else if (currentMonth >= 7 && currentMonth <= 9)
c.set(Calendar.MONTH, 6);
else if (currentMonth >= 10 && currentMonth <= 12)
c.set(Calendar.MONTH, 9);
c.set(Calendar.DATE, 1);
now = longSdf.parse(shortSdf.format(c.getTime()) + " 00:00:00");
} catch (Exception e) {
e.printStackTrace();
}
return now;
}
/**
* 当前季度的结束时间,即2012-03-31 23:59:59
*
* @return
*/
public static Date getCurrentQuarterEndTime(Date dateStr) {
Calendar cal = Calendar.getInstance();
cal.setTime(getCurrentQuarterStartTime(dateStr));
cal.add(Calendar.MONTH, 3);
return cal.getTime();
}
public static Date getCurrentYearStartTime(Date dateStr) {
Calendar cal = Calendar.getInstance();
cal.setTime(dateStr);
cal.set(Calendar.DAY_OF_MONTH, cal.getActualMinimum(Calendar.YEAR));
return cal.getTime();
}
public static Date getCurrentYearEndTime(Date dateStr) {
Calendar cal = Calendar.getInstance();
cal.setTime(getCurrentYearStartTime(dateStr));
cal.add(Calendar.YEAR, 1);
return cal.getTime();
}
Calendar类根据指定日期获取年,季度,月
于 2022-01-21 14:38:02 首次发布