java获取上一月,上一年的日期

根据指定日期获取时间


/**
	 * 
	 * @Description: 获取上个月环比日期
	 * @param
	 * @return String
	 * @throws
	 * @author 
	 * @createtime 
	 */
	public String getHbDate(String currentDate) {
		 
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		Date date = null;
		String monthFormat;
		try {
			date = sdf.parse(currentDate + "-" + "01");
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		Calendar c = Calendar.getInstance();
		c.setTime(date);
		c.add(Calendar.MONTH, -1);
		int month = c.get(Calendar.MONTH) + 1;
		if(month<=9) {
			 monthFormat="0"+month;
		}else {
			monthFormat=String.valueOf(month);
		}
		String hbDate = c.get(Calendar.YEAR) + "-"
				+ monthFormat+"-01";
		return hbDate;
	}
	/**
	 * 
	 * @Description: 获取去年同比日期
	 * @param
	 * @return String
	 * @throws
	 * @author 
	 * @createtime 
	 */
	public String getTbDate(String currentDate) {
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		Date date = null;
		String monthFormat;
		try {
			date = sdf.parse(currentDate + "-" + "01");
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		Calendar c = Calendar.getInstance();
		c.setTime(date);
		c.add(Calendar.YEAR, -1);
		int month = c.get(Calendar.MONTH) + 1;
		if(month<=9) {
			 monthFormat="0"+month;
		}else {
			monthFormat=String.valueOf(month);
		}
		String tbDate = c.get(Calendar.YEAR) + "-"
				+ monthFormat+"-01";
		return tbDate;
	}

 

获取当前时间的上一年,可以使用Java中的Calendar类或LocalDate类来实现。 使用Calendar类的示例代码如下: ```java Calendar ca = Calendar.getInstance(); ca.setTime(new Date()); ca.add(Calendar.YEAR, -1); Date previousYear = ca.getTime(); ``` 这段代码首先获取了当前时间的Calendar实例,然后将其设置为当前时间。接下来,使用`add`方法将年份减去1,最后通过`getTime`方法获取上一年日期。 使用LocalDate类的示例代码如下: ```java LocalDate currentDate = LocalDate.now(); LocalDate previousYear = currentDate.minusYears(1); ``` 这段代码首先使用`LocalDate.now()`获取当前日期的实例,然后使用`minusYears`方法将年份减去1,最后得到上一年日期。 无论是使用Calendar类还是LocalDate类,都可以很方便地获取当前时间的上一年。 #### 引用[.reference_title] - *1* [Java获取当前时间的上一年、下一年、上个月、下个月、前一天等(时间格式化)](https://blog.csdn.net/qq_41563912/article/details/126284310)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Java 获取日期前一年、月、日,指定日期的前几天,后几天](https://blog.csdn.net/m0_54790214/article/details/129280230)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值