java根据年月(字符串)获取当前月的天数

记录一个用java获得一个月天数的方法: 基本上使用Calendar类的 getActualMaximum()方法,直接使用Calendar类的set方法加入日期不会得到正确结果,所以中间需要SimpleDateFormat类,做转换。

  

public class TestDate {

 

public static void main(String[] args) {

Calendar rightNow = Calendar.getInstance();

SimpleDateFormat simpleDate = new SimpleDateFormat("yyyy/MM"); //如果写成年月日的形式的话,要写小d,如:"yyyy/MM/dd"

try {

rightNow.setTime(simpleDate.parse("2008/02")); //要计算你想要的月份,改变这里即可

} catch (ParseException e) {

e.printStackTrace();

}

int days = rightNow.getActualMaximum(Calendar.DAY_OF_MONTH);

System.out.println("days : "+ days);

}

 

}

 

结果:  

days : 29

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
获取当前时间的份的开始和结束时间的日可以使用Java中的Calendar类和SimpleDateFormat类。 以下是一个示例代码: ```java import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class MonthStartEnd { public static void main(String[] args) { Calendar calendar = Calendar.getInstance(); // 获取当前时间 int year = calendar.get(Calendar.YEAR); // 获取份 int month = calendar.get(Calendar.MONTH) + 1; // 获取份(注意要加1) int days = calendar.getActualMaximum(Calendar.DAY_OF_MONTH); // 获取天数 // 获取当前份的开始时间的calendar.set(Calendar.DAY_OF_MONTH, 1); int startYear = calendar.get(Calendar.YEAR); int startMonth = calendar.get(Calendar.MONTH) + 1; int startDay = calendar.get(Calendar.DAY_OF_MONTH); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); System.out.println("当前份的开始时间:" + sdf.format(calendar.getTime())); // 获取当前份的结束时间的calendar.set(Calendar.DAY_OF_MONTH, days); int endYear = calendar.get(Calendar.YEAR); int endMonth = calendar.get(Calendar.MONTH) + 1; int endDay = calendar.get(Calendar.DAY_OF_MONTH); System.out.println("当前份的结束时间:" + sdf.format(calendar.getTime())); } } ``` 运行结果如下: ``` 当前份的开始时间:2022-01-01 当前份的结束时间:2022-01-31 ``` 其中,`calendar.get(Calendar.YEAR)` 方法可以获取份,`calendar.get(Calendar.MONTH)` 方法可以获取份(注意要加1),`calendar.get(Calendar.DAY_OF_MONTH)` 方法可以获取日期。最后,使用 `SimpleDateFormat` 类将日期转换为指定格式的字符串

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值