Java获取当前时间的上一年、下一年、上个月、下个月、前一天等(时间格式化)

Java中获取昨天、明天、去年,上一个小时等等都需要用到calendar类,而且具有相同的规律,会一个,就都会了,下面是获取当前时间下一年的前一天的示例,一般用于生成年账单,比如年账单时间是2022-08-11到2023-08-10

public static Date getNextYearPreDay() {
	Calendar ca = Calendar.getInstance();//得到一个Calendar的实例
	ca.setTime(new Date());   //设置时间为当前时间
	ca.add(Calendar.YEAR, +1); //年份+1
	// ca.add(Calendar.MONTH, -1); // 月份-1
	ca.add(Calendar.DATE, -1); // 日期-1
	return ca.getTime();
 }

上面获取到的依旧是Date类型,在Java中,要对时间类型格式化都会用到SimpleDateFormat类,我们可以先用上面代码获取到所需要的时间,然后再用SimpleDateFormat类拿到我们需要的任意类型的时间,也可以用它获取单个的年、月、日,Date类获取单个年、月、日的方法以及过时,不建议使用了,下面是例子:

public static String format(Date date, String pattern) {
    SimpleDateFormat format = new SimpleDateFormat(pattern);
    return format.format(date);
}

例如我们要获取当前时间的天,则可以直接调用上述format方法,如下:
format(new Date(), "dd");
获取年,则传"yy",获取月传"DD",其余均一致,获取年月日时分秒则传"yyyy-MM-dd HH:mm:ss"

那最开始我们要获取的当前时间的下一年的前一天,再用format方法格式化一下,即可得到我们想要的字符串类型

你可能感兴趣的:(java技术分享,java)