0%

Java的日期时间类基本使用1

获取某日的零点和末点、获取指定天数前的日期、获取指定某年或某月的天数

获取某日的零点和末点

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
   //获取某天的零点
public String findStartTimeByDay(String day) throws ParseException {
Calendar instance = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date parse = sdf.parse(day);
instance.setTime(parse);
instance.set(Calendar.HOUR_OF_DAY,0);
instance.set(Calendar.MINUTE,0);
instance.set(Calendar.SECOND,0);
instance.set(Calendar.MILLISECOND,0);
Date time = instance.getTime();
String startTime = sdf.format(time);
return startTime;
}
//获取某天的末点(23:59:59.999)
public String findEndTimeByDay(String day) throws ParseException {
Calendar instance = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date parse = sdf.parse(day);
instance.setTime(parse);
instance.set(Calendar.HOUR_OF_DAY,23);
instance.set(Calendar.MINUTE,59);
instance.set(Calendar.SECOND,59);
instance.set(Calendar.MILLISECOND,999);
Date time = instance.getTime();
String endTime = sdf.format(time);
return endTime;
}

获取指定天数前的日期

1
2
3
4
5
//获取7天前的时间
Calendar now = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
now.add(Calendar.DAY_OF_MONTH,-7);
String passWeekDate = sdf.format(now.getTime());

获取指定某年或某月的天数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//获取指定月份的天数
public static Integer getDayNumOfMonth(Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
Integer actualMaximum = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
return actualMaximum;
}

// 获取今年的天数
int daysOfThisYear = LocalDate.now().lengthOfYear();

// 获取指定某年的天数
LocalDate.of(2011, 1, 1).lengthOfYear();

//使用Calendar的枚举来指代月份
Calendar.FEBRUARY
Calendar.MARCH

Welcome to my other publishing channels