日期工具类
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;
/**
* @author 枫铃也
* @since 2019-10-09 13:51
*/
public class DateUtil {
private static final TimeZone TIME_ZONE = TimeZone.getDefault();
private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public static String format(Date date) {
return DATE_FORMAT.format(date);
}
/**
* <p>@description: 得到当前日历 </p>
* <p>@method: getCalendar </p>
* <p>@author: 枫铃也 </p>
* <p>@since: 2019-10-09 14:47 </p>
*
* <p>@return java.util.Calendar </p>
*/
public static Calendar getCalendar() {
return Calendar.getInstance(TIME_ZONE);
}
/**
* <p>@description: 得到当前秒的开始日历 </p>
* <p>@method: getSecondStartCalendar </p>
* <p>@author: 枫铃也 </p>
* <p>@since: 2019-10-09 14:48 </p>
*
* <p>@return java.util.Calendar </p>
*/
public static Calendar getSecondStartCalendar() {
Calendar calendar = getCalendar();
//将毫秒至0
calendar.set(Calendar.MILLISECOND, 0);
return calendar;
}
/**
* <p>@description: 得到上一秒的开始日历 </p>
* <p>@method: getLastSecondStartCalendar </p>
* <p>@author: 枫铃也 </p>
* <p>@since: 2019-10-09 14:48 </p>
*
* <p>@return java.util.Calendar </p>
*/
public static Calendar getLastSecondStartCalendar() {
Calendar calendar = getSecondStartCalendar();
//将秒为上一秒
calendar.set(Calendar.SECOND, calendar.get(Calendar.SECOND) - 1);
return calendar;
}
/**
* <p>@description: 得到下一秒的开始日历 </p>
* <p>@method: getLaterSecondStartCalendar </p>
* <p>@author: 枫铃也 </p>
* <p>@since: 2019-10-09 14:48 </p>
*
* <p>@return java.util.Calendar </p>
*/
public static Calendar getLaterSecondStartCalendar() {
Calendar calendar = getSecondStartCalendar();
//将秒为下一秒
calendar.set(Calendar.SECOND, calendar.get(Calendar.SECOND) + 1);
return calendar;
}
/**
* <p>@description: 得到当前秒的结束日历 </p>
* <p>@method: getSecondEndCalendar </p>
* <p>@author: 枫铃也 </p>
* <p>@since: 2019-10-09 14:48 </p>
*
* <p>@return java.util.Calendar </p>
*/
public static Calendar getSecondEndCalendar() {
Calendar calendar = getCalendar();
//将毫秒至999
calendar.set(Calendar.MILLISECOND, 999);
return calendar;
}
/**
* <p>@description: 得到上一秒的结束日历 </p>
* <p>@method: getLastSecondEndCalendar </p>
* <p>@author: 枫铃也 </p>
* <p>@since: 2019-10-09 14:48 </p>
*
* <p>@return java.util.Calendar </p>
*/
public static Calendar getLastSecondEndCalendar() {
Calendar calendar = getSecondEndCalendar();
//将秒置上一秒
calendar.set(Calendar.SECOND, calendar.get(Calendar.SECOND) - 1);
return calendar;
}
/**
* <p>@description: 得到下一秒的结束日历 </p>
* <p>@method: getLaterSecondEndCalendar </p>
* <p>@author: 枫铃也 </p>
* <p>@since: 2019-10-09 14:48 </p>
*
* <p>@return java.util.Calendar </p>
*/
public static Calendar getLaterSecondEndCalendar() {
Calendar calendar = getSecondEndCalendar();
//将秒置下一秒
calendar.set(Calendar.SECOND, calendar.get(Calendar.SECOND) + 1);
return calendar;
}
/**
* <p>@description: 得到当前分钟的开始日历 </p>
* <p>@method: getMinuteStartCalendar </p>
* <p>@author: 枫铃也 </p>
* <p>@since: 2019-10-09 14:48 </p>
*
* <p>@return java.util.Calendar </p>
*/
public static Calendar getMinuteStartCalendar() {
Calendar calendar = getSecondStartCalendar();
//将秒至0
calendar.set(Calendar.SECOND, 0);
return calendar;
}
/**
* <p>@description: 得到上一分钟的开始日历 </p>
* <p>@method: getLastMinuteStartCalendar </p>
* <p>@author: 枫铃也 </p>
* <p>@since: 2019-10-09 14:48 </p>
*
* <p>@return java.util.Calendar </p>
*/
public static Calendar getLastMinuteStartCalendar() {
Calendar calendar = getMinuteStartCalendar();
//将分钟置上一分钟
calendar.set(Calendar.MINUTE, calendar.get(Calendar.MINUTE) - 1);
return calendar;
}
/**
* <p>@description: 得到下一分钟的开始日历 </p>
* <p>@method: getLaterMinuteStartCalendar </p>
* <p>@author: 枫铃也 </p>
* <p>@since: 2019-10-09 14:48 </p>
*
* <p>@return java.util.Calendar </p>
*/
public static Calendar getLaterMinuteStartCalendar() {
Calendar calendar = getMinuteStartCalendar();
//将分钟置下一分钟
calendar.set(Calendar.MINUTE, calendar.get(Calendar.MINUTE) + 1);
return calendar;
}
/**
* <p>@description: 得到当前分钟的结束日历 </p>
* <p>@method: getMinuteEndCalendar </p>
* <p>@author: 枫铃也 </p>
* <p>@since: 2019-10-09 14:48 </p>
*
* <p>@return java.util.Calendar </p>
*/
public static Calendar getMinuteEndCalendar() {
Calendar calendar = getSecondEndCalendar();
//将秒至59
calendar.set(Calendar.SECOND, 59);
return calendar;
}
/**
* <p>@description: 得到上一分钟的结束日历 </p>
* <p>@method: getLastMinuteEndCalendar </p>
* <p>@author: 枫铃也 </p>
* <p>@since: 2019-10-09 14:48 </p>
*
* <p>@return java.util.Calendar </p>
*/
public static Calendar getLastMinuteEndCalendar() {
Calendar calendar = getMinuteEndCalendar();
//将分钟为上一分钟
calendar.set(Calendar.MINUTE, calendar.get(Calendar.MINUTE) - 1);
return calendar;
}
/**
* <p>@description: 得到下一分钟的结束日历 </p>
* <p>@method: getLaterMinuteEndCalendar </p>
* <p>@author: 枫铃也 </p>
* <p>@since: 2019-10-09 14:48 </p>
*
* <p>@return java.util.Calendar </p>
*/
public static Calendar getLaterMinuteEndCalendar() {
Calendar calendar = getMinuteEndCalendar();
//将分钟为下一分钟
calendar.set(Calendar.MINUTE, calendar.get(Calendar.MINUTE) + 1);
return calendar;
}
/**
* <p>@description: 得到当前小时的开始日历 </p>
* <p>@method: getHourStartCalendar </p>
* <p>@author: 枫铃也 </p>
* <p>@since: 2019-10-09 14:48 </p>
*
* <p>@return java.util.Calendar </p>
*/
public static Calendar getHourStartCalendar() {
Calendar calendar = getMinuteStartCalendar();
//将分钟置0
calendar.set(Calendar.MINUTE, 0);
return calendar;
}
/**
* <p>@description: 得到上一小时的开始日历 </p>
* <p>@method: getLastHourStartCalendar </p>
* <p>@author: 枫铃也 </p>
* <p>@since: 2019-10-09 14:48 </p>
*
* <p>@return java.util.Calendar </p>
*/
public static Calendar getLastHourStartCalendar() {
Calendar calendar = getHourStartCalendar();
//将小时置上一小时
calendar.set(Calendar.HOUR_OF_DAY, calendar.get(Calendar.HOUR_OF_DAY) - 1);
return calendar;
}
/**
* <p>@description: 得到下一小时的开始日历 </p>
* <p>@method: getLaterHourStartCalendar </p>
* <p>@author: 枫铃也 </p>
* <p>@since: 2019-10-09 14:48 </p>
*
* <p>@return java.util.Calendar </p>
*/
public static Calendar getLaterHourStartCalendar() {
Calendar calendar = getHourStartCalendar();
//将小时置下一小时
calendar.set(Calendar.HOUR_OF_DAY, calendar.get(Calendar.HOUR_OF_DAY) + 1);
return calendar;
}
/**
* <p>@description: 得到当前小时的结束日历 </p>
* <p>@method: getHourEndCalendar </p>
* <p>@author: 枫铃也 </p>
* <p>@since: 2019-10-09 14:48 </p>
*
* <p>@return java.util.Calendar </p>
*/
public static Calendar getHourEndCalendar() {
Calendar calendar = getMinuteEndCalendar();
//将分钟置59
calendar.set(Calendar.MINUTE, 59);
return calendar;
}
/**
* <p>@description: 得到上一小时的结束日历 </p>
* <p>@method: getLastHourEndCalendar </p>
* <p>@author: 枫铃也 </p>
* <p>@since: 2019-10-09 14:48 </p>
*
* <p>@return java.util.Calendar </p>
*/
public static Calendar getLastHourEndCalendar() {
Calendar calendar = getHourEndCalendar();
//将小时置上一小时
calendar.set(Calendar.HOUR_OF_DAY, calendar.get(Calendar.HOUR_OF_DAY) - 1);
return calendar;
}
/**
* <p>@description: 得到下一小时的结束日历 </p>
* <p>@method: getLaterHourEndCalendar </p>
* <p>@author: 枫铃也 </p>
* <p>@since: 2019-10-09 14:48 </p>
*
* <p>@return java.util.Calendar </p>
*/
public static Calendar getLaterHourEndCalendar() {
Calendar calendar = getHourEndCalendar();
//将小时置下一小时
calendar.set(Calendar.HOUR_OF_DAY, calendar.get(Calendar.HOUR_OF_DAY) + 1);
return calendar;
}
/**
* <p>@description: 得到当前日的开始日历 </p>
* <p>@method: getDayStartCalendar </p>
* <p>@author: 枫铃也 </p>
* <p>@since: 2019-10-09 14:48 </p>
*
* <p>@return java.util.Calendar </p>
*/
public static Calendar getDayStartCalendar() {
Calendar calendar = getHourStartCalendar();
//将小时置0
calendar.set(Calendar.HOUR_OF_DAY, 0);
return calendar;
}
/**
* <p>@description: 得到前一天的开始日历 </p>
* <p>@method: getLastDayStartCalendar </p>
* <p>@author: 枫铃也 </p>
* <p>@since: 2019-10-09 14:48 </p>
*
* <p>@return java.util.Calendar </p>
*/
public static Calendar getLastDayStartCalendar() {
Calendar calendar = getHourStartCalendar();
//将日设置为前一天
calendar.set(Calendar.HOUR_OF_DAY, calendar.get(Calendar.HOUR_OF_DAY) - 1);
return calendar;
}
/**
* <p>@description: 得到后一天的开始日历 </p>
* <p>@method: getLaterDayStartCalendar </p>
* <p>@author: 枫铃也 </p>
* <p>@since: 2019-10-09 14:48 </p>
*
* <p>@return java.util.Calendar </p>
*/
public static Calendar getLaterDayStartCalendar() {
Calendar calendar = getHourStartCalendar();
//将日设置为后一天
calendar.set(Calendar.HOUR_OF_DAY, calendar.get(Calendar.HOUR_OF_DAY) + 1);
return calendar;
}
/**
* <p>@description: 得到当前日的结束日历 </p>
* <p>@method: getDayEndCalendar </p>
* <p>@author: 枫铃也 </p>
* <p>@since: 2019-10-09 14:48 </p>
*
* <p>@return java.util.Calendar </p>
*/
public static Calendar getDayEndCalendar() {
Calendar calendar = getHourEndCalendar();
//将小时置23
calendar.set(Calendar.HOUR_OF_DAY, 23);
return calendar;
}
/**
* <p>@description: 得到前一日的结束日历 </p>
* <p>@method: getLastDayEndCalendar </p>
* <p>@author: 枫铃也 </p>
* <p>@since: 2019-10-09 14:48 </p>
*
* <p>@return java.util.Calendar </p>
*/
public static Calendar getLastDayEndCalendar() {
Calendar calendar = getDayEndCalendar();
//将日置前一日
calendar.set(Calendar.HOUR_OF_DAY, calendar.get(Calendar.HOUR_OF_DAY) - 1);
return calendar;
}
/**
* <p>@description: 得到后一日的结束日历 </p>
* <p>@method: getLaterDayEndCalendar </p>
* <p>@author: 枫铃也 </p>
* <p>@since: 2019-10-09 14:48 </p>
*
* <p>@return java.util.Calendar </p>
*/
public static Calendar getLaterDayEndCalendar() {
Calendar calendar = getDayEndCalendar();
//将日置后一日
calendar.set(Calendar.HOUR_OF_DAY, calendar.get(Calendar.HOUR_OF_DAY) + 1);
return calendar;
}
/**
* <p>@description: 得到当前月的开始日历 </p>
* <p>@method: getMonthStartCalendar </p>
* <p>@author: 枫铃也 </p>
* <p>@since: 2019-10-09 14:48 </p>
*
* <p>@return java.util.Calendar </p>
*/
public static Calendar getMonthStartCalendar() {
Calendar calendar = getDayStartCalendar();
//设置为1号
calendar.set(Calendar.DAY_OF_MONTH, 1);
return calendar;
}
/**
* <p>@description: 得到上个月的开始日历 </p>
* <p>@method: getLastMonthStartCalendar </p>
* <p>@author: 枫铃也 </p>
* <p>@since: 2019-10-09 14:48 </p>
*
* <p>@return java.util.Calendar </p>
*/
public static Calendar getLastMonthStartCalendar() {
Calendar calendar = getMonthStartCalendar();
//设置月为上一月
calendar.set(Calendar.MONTH, calendar.get(Calendar.MONTH) - 1);
return calendar;
}
/**
* <p>@description: 得到下个月的开始日历 </p>
* <p>@method: getLaterMonthStartCalendar </p>
* <p>@author: 枫铃也 </p>
* <p>@since: 2019-10-09 14:48 </p>
*
* <p>@return java.util.Calendar </p>
*/
public static Calendar getLaterMonthStartCalendar() {
Calendar calendar = getMonthStartCalendar();
//设置月为下一月
calendar.set(Calendar.MONTH, calendar.get(Calendar.MONTH) + 1);
return calendar;
}
/**
* <p>@description: 得到当前月的结束日历 </p>
* <p>@method: getMonthEndCalendar </p>
* <p>@author: 枫铃也 </p>
* <p>@since: 2019-10-09 14:48 </p>
*
* <p>@return java.util.Calendar </p>
*/
public static Calendar getMonthEndCalendar() {
Calendar calendar = getDayEndCalendar();
//设置为最后一天
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
return calendar;
}
/**
* <p>@description: 得到上一月的结束日历 </p>
* <p>@method: getLastMonthEndCalendar </p>
* <p>@author: 枫铃也 </p>
* <p>@since: 2019-10-09 14:48 </p>
*
* <p>@return java.util.Calendar </p>
*/
public static Calendar getLastMonthEndCalendar() {
Calendar calendar = getMonthEndCalendar();
//设置月为上一月
calendar.set(Calendar.MONTH, calendar.get(Calendar.MONTH) - 1);
return calendar;
}
/**
* <p>@description: 得到下个月的结束日历 </p>
* <p>@method: getLaterMonthEndCalendar </p>
* <p>@author: 枫铃也 </p>
* <p>@since: 2019-10-09 14:48 </p>
*
* <p>@return java.util.Calendar </p>
*/
public static Calendar getLaterMonthEndCalendar() {
Calendar calendar = getMonthEndCalendar();
//设置月为下个月
calendar.set(Calendar.MONTH, calendar.get(Calendar.MONTH) + 1);
return calendar;
}
/**
* <p>@description: 得到当前年的开始日历 </p>
* <p>@method: getYearStartCalendar </p>
* <p>@author: 枫铃也 </p>
* <p>@since: 2019-10-09 14:48 </p>
*
* <p>@return java.util.Calendar </p>
*/
public static Calendar getYearStartCalendar() {
Calendar calendar = getMonthStartCalendar();
//设置月为1月
calendar.set(Calendar.MONTH, 0);
return calendar;
}
/**
* <p>@description: 得到前一年的开始日历 </p>
* <p>@method: getLastYearStartCalendar </p>
* <p>@author: 枫铃也 </p>
* <p>@since: 2019-10-09 14:48 </p>
*
* <p>@return java.util.Calendar </p>
*/
public static Calendar getLastYearStartCalendar() {
Calendar calendar = getYearStartCalendar();
//设置年份为前一年
calendar.set(Calendar.YEAR, calendar.get(Calendar.YEAR) - 1);
return calendar;
}
/**
* <p>@description: 得到后一年的开始日历 </p>
* <p>@method: getLaterYearStartCalendar </p>
* <p>@author: 枫铃也 </p>
* <p>@since: 2019-10-09 14:48 </p>
*
* <p>@return java.util.Calendar </p>
*/
public static Calendar getLaterYearStartCalendar() {
Calendar calendar = getYearStartCalendar();
//设置年份为后一年
calendar.set(Calendar.YEAR, calendar.get(Calendar.YEAR) + 1);
return calendar;
}
/**
* <p>@description: 得到当前年的结束日历 </p>
* <p>@method: getYearEndCalendar </p>
* <p>@author: 枫铃也 </p>
* <p>@since: 2019-10-09 14:48 </p>
*
* <p>@return java.util.Calendar </p>
*/
public static Calendar getYearEndCalendar() {
Calendar calendar = getMonthEndCalendar();
//设置月为12月
calendar.set(Calendar.MONTH, 11);
//设置为31号
calendar.set(Calendar.DAY_OF_MONTH, 31);
return calendar;
}
/**
* <p>@description: 得到上一年的结束日历 </p>
* <p>@method: getLastYearEndCalendar </p>
* <p>@author: 枫铃也 </p>
* <p>@since: 2019-10-09 14:48 </p>
*
* <p>@return java.util.Calendar </p>
*/
public static Calendar getLastYearEndCalendar() {
Calendar calendar = getYearEndCalendar();
//设置年为前一年
calendar.set(Calendar.YEAR, calendar.get(Calendar.YEAR) - 1);
return calendar;
}
/**
* <p>@description: 得到后一年的结束日历 </p>
* <p>@method: getLaterYearEndCalendar </p>
* <p>@author: 枫铃也 </p>
* <p>@since: 2019-10-09 14:48 </p>
*
* <p>@return java.util.Calendar </p>
*/
public static Calendar getLaterYearEndCalendar() {
Calendar calendar = getYearEndCalendar();
//设置年为后一年
calendar.set(Calendar.YEAR, calendar.get(Calendar.YEAR) + 1);
return calendar;
}
public static void main(String[] args) {
System.out.println("明年的开始:" + DateUtil.format(getLaterYearStartCalendar().getTime()));
System.out.println("明年的结束:" + DateUtil.format(getLaterYearEndCalendar().getTime()));
System.out.println("今年的开始:" + DateUtil.format(getYearStartCalendar().getTime()));
System.out.println("今年的结束:" + DateUtil.format(getYearEndCalendar().getTime()));
System.out.println("去年的开始:" + DateUtil.format(getLastYearStartCalendar().getTime()));
System.out.println("去年的结束:" + DateUtil.format(getLastYearEndCalendar().getTime()));
}
}
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 Salted Fish
评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果