项目中常常会遇到得到指定日期的起止时间,如得到当月的起始时间和结束时间。以前已经讲过在前段的实现。如今咱们看看在java后端如何实现。java
主要借助Calendar类实现。后端
得到一日的起始和结束时间:get
Calendar now = Calendar.getInstance(); now.setTime(date); now.set(Calendar.HOUR_OF_DAY, 0); now.set(Calendar.MINUTE, 0); now.set(Calendar.SECOND, 0); now.set(Calendar.MILLISECOND, 0); Date beginOfDay = now.getTime(); now.add(Calendar.DAY_OF_YEAR, 1); now.add(Calendar.MILLISECOND, -1); Date endOfDay = now.getTime();
Mon Jan 07 00:00:00 CST 2019
Mon Jan 07 23:59:59 CST 2019date
得到一周的起始和结束时间:im
Calendar now = Calendar.getInstance(); now.setTime(date); now.set(Calendar.DAY_OF_WEEK, 1); now.set(Calendar.HOUR_OF_DAY, 0); now.set(Calendar.MINUTE, 0); now.set(Calendar.SECOND, 0); now.set(Calendar.MILLISECOND, 0); Date beginOfWeek = now.getTime(); now.add(Calendar.WEEK_OF_YEAR, 1); now.add(Calendar.MILLISECOND, -1); Date endOfWeek = now.getTime();
Sun Jan 06 00:00:00 CST 2019
Sat Jan 12 23:59:59 CST 2019项目
得到一个月的起始和结束时间:时间
Calendar now = Calendar.getInstance(); now.setTime(date); now.set(Calendar.DAY_OF_MONTH, 1); now.set(Calendar.HOUR_OF_DAY, 0); now.set(Calendar.MINUTE, 0); now.set(Calendar.SECOND, 0); now.set(Calendar.MILLISECOND, 0); Date beginOfMon = now.getTime(); now.add(Calendar.MONTH, 1); now.add(Calendar.MILLISECOND, -1); Date endOfMon = now.getTime();
Tue Jan 01 00:00:00 CST 2019
Thu Jan 31 23:59:59 CST 2019日期
得到一年的起始和结束时间:
Calendar now = Calendar.getInstance(); now.setTime(date); now.set(Calendar.MONTH, 0); now.set(Calendar.DAY_OF_YEAR, 1); now.set(Calendar.HOUR_OF_DAY, 0); now.set(Calendar.MINUTE, 0); now.set(Calendar.SECOND, 0); now.set(Calendar.MILLISECOND, 0); Date beginOfYear = now.getTime(); now.add(Calendar.YEAR, 1); now.add(Calendar.MILLISECOND, -1); Date endOfYear = now.getTime();
Tue Jan 01 00:00:00 CST 2019 Tue Dec 31 23:59:59 CST 2019