/**
* 日期工具类
*/
public class DateUtils2 {
/**
* 获取今天
*
* @return String
*/
public static String getToday() {
return new SimpleDateFormat("yyyy-MM-dd").format(new Date());
}
/**
* 获取昨天
*
* @return String
*/
public static String getYestoday() {
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, -1);
Date time = cal.getTime();
return new SimpleDateFormat("yyyy-MM-dd").format(time);
}
/**
* 获取本月开始日期
*
* @return String
**/
public static String getMonthStart() {
Calendar cal = Calendar.getInstance();
cal.add(Calendar.MONTH, 0);
cal.set(Calendar.DAY_OF_MONTH, 1);
Date time = cal.getTime();
return new SimpleDateFormat("yyyy-MM-dd").format(time) + " 00:00:00";
}
/**
* @Description: 得到七天的日期,包括今天
* @return: java.util.List<java.lang.String>
*/
public static List<String> getSevenDate() {
List<String> dateList = new ArrayList<>();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
for (int i = 0; i < 7; i++) {
Date date = DateUtils.addDays(new Date(), -i);
String formatDate = sdf.format(date);
dateList.add(formatDate);
}
return dateList;
}
/**
* 获取本月最后一天
*
* @return String
**/
public static String getMonthEnd() {
Calendar cal = Calendar.getInstance();
cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DAY_OF_MONTH));
Date time = cal.getTime();
return new SimpleDateFormat("yyyy-MM-dd").format(time) + " 23:59:59";
}
/**
* 获取本周的第一天
*
* @return String
**/
public static String getWeekStart() {
Calendar cal = Calendar.getInstance();
cal.add(Calendar.WEEK_OF_MONTH, 0);
cal.set(Calendar.DAY_OF_WEEK, 2);
Date time = cal.getTime();
return new SimpleDateFormat("yyyy-MM-dd").format(time) + " 00:00:00";
}
/**
* 获取本周的最后一天
*
* @return String
**/
public static String getWeekEnd() {
Calendar cal = Calendar.getInstance();
cal.set(Calendar.DAY_OF_WEEK, cal.getActualMaximum(Calendar.DAY_OF_WEEK));
cal.add(Calendar.DAY_OF_WEEK, 1);
Date time = cal.getTime();
return new SimpleDateFormat("yyyy-MM-dd").format(time) + " 23:59:59";
}
/**
* 获取本年的第一天
*
* @return String
**/
public static String getYearStart() {
return new SimpleDateFormat("yyyy").format(new Date()) + "-01-01 00:00:00";
}
/**
* 获取本年的最后一天
*
* @return String
**/
public static String getYearEnd() {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.MONTH, calendar.getActualMaximum(Calendar.MONTH));
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
Date currYearLast = calendar.getTime();
return new SimpleDateFormat("yyyy-MM-dd").format(currYearLast) + " 23:59:59";
}
/*获取前一个小时*/
public static String getLastHour() {
//getInstance()将返回一个Calendar的对象。
Calendar calendar = Calendar.getInstance();
//设置小时
calendar.set(Calendar.HOUR_OF_DAY, calendar.get(Calendar.HOUR_OF_DAY) - 1);
//格式化时间
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH");
//打印出时间
System.out.println("一个小时前的时间:" + df.format(calendar.getTime()));
System.out.println("当前的时间:" + df.format(new Date()));
return df.format(calendar.getTime());
}
public static void main(String[] args) {
System.out.println("获取今天:" + getToday());
System.out.println("获取昨天:" + getYestoday());
System.out.println("获取最近七天:" + getSevenDate);
System.out.println("获取本月开始日期:" + getMonthStart());
System.out.println("获取本月最后一天:" + getMonthEnd());
System.out.println("获取本周的第一天:" + getWeekStart());
System.out.println("获取本周的最后一天:" + getWeekEnd());
System.out.println("获取本年的第一天:" + getYearStart());
System.out.println("获取本年的最后一天:" + getYearEnd());
System.out.println("获取前一个小时:" + getLastHour());
}
}
获取最近七天的方法需要加入一个依赖
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>