java计算年度剩余天数

该博客内容展示了如何使用Java编程来计算输入日期当年的剩余天数。通过SimpleDateFormat解析日期,然后利用Calendar获取当年的最大天数和当前天数进行相减,得到剩余天数。代码中包含了错误处理和日期格式的判断。

java计算年度剩余天数

输入日期 计算当年天数

public static int parseRemainDays(String strDate){
	if(strDate==null || strDate.isEmpty() || strDate.length()<10){
		return -1;
	}
	SimPleDateFormat sm = new SimPleDateFormat(strDate.length()>18?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd");
	Date date=null;
	try{
		date=sm.parse(strDate);
	}catch(ParseException ex){
		ex.printStackTrace();
		return -1;
	}
		Calendar calendar = Calendar.getInstance();
		calendar.setTime(date);
	return calendar.getActualMaximum(Calendar.DAY_OF_YEAR)  - calendar.get(Calendar.DAY_OF_YEAR)
}

Java 中,可以使用 `java.util.Calendar` 或 Java 8 引入的 `java.time` 包来根据当前时间戳计算当月剩余天数。 ### 使用 `java.util.Calendar` ```java import java.util.Calendar; public class RemainingDaysInMonth { public static int getRemainingDaysInMonth(long timestamp) { Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(timestamp); int currentDay = calendar.get(Calendar.DAY_OF_MONTH); int daysInMonth = calendar.getActualMaximum(Calendar.DAY_OF_MONTH); return daysInMonth - currentDay; } public static void main(String[] args) { long currentTimestamp = System.currentTimeMillis(); int remainingDays = getRemainingDaysInMonth(currentTimestamp); System.out.println("当月剩余天数: " + remainingDays); } } ``` 上述代码中,`getRemainingDaysInMonth` 方法接收一个时间戳作为参数,通过 `Calendar` 类将其转换为日期,然后获取当前日期是当月的第几和当月的总天数,最后计算剩余天数。 ### 使用 `java.time` 包 ```java import java.time.Instant; import java.time.LocalDate; import java.time.ZoneId; public class RemainingDaysInMonthJava8 { public static int getRemainingDaysInMonth(long timestamp) { Instant instant = Instant.ofEpochMilli(timestamp); LocalDate localDate = instant.atZone(ZoneId.systemDefault()).toLocalDate(); int currentDay = localDate.getDayOfMonth(); int daysInMonth = localDate.lengthOfMonth(); return daysInMonth - currentDay; } public static void main(String[] args) { long currentTimestamp = System.currentTimeMillis(); int remainingDays = getRemainingDaysInMonth(currentTimestamp); System.out.println("当月剩余天数: " + remainingDays); } } ``` 上述代码中,`getRemainingDaysInMonth` 方法接收一个时间戳作为参数,通过 `Instant` 类将其转换为日期,然后获取当前日期是当月的第几和当月的总天数,最后计算剩余天数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值