日常开发中会遇到关于日期的计算比如:当天剩余的秒数、当月的天数、当月剩余天数等等......
实现思路:
- 获取当天剩余的秒数;
- 获取当月的天数;
- 获取当天是是这个月的第几天
- 计算两个时间的差值;
代码如下:
LocalDateTime midnight = LocalDateTime.now().plusDays(1).withHour(0).withMinute(0).withSecond(0).withNano(0);
long seconds = ChronoUnit.SECONDS.between(LocalDateTime.now(), midnight);
System.out.println("当天剩余秒:" + seconds);
Calendar c = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:OO"));
int day = c.get(Calendar.DAY_OF_MONTH); //获取当前天数
int last = c.getActualMaximum(c.DAY_OF_MONTH); //获取本月最大天数
System.out.println("这个月有"+last+"天");
System.out.println("当月剩余天:"+(last-day));
输出结果: