public final static Date addMonths(final Date date, final Integer noOfMonths) {
Calendar orgCal = GregorianCalendar.getInstance();
orgCal.setTime(date);
Calendar newCal = GregorianCalendar.getInstance();
newCal.setTime(date);
newCal.set(Calendar.DAY_OF_MONTH, 1);
int year = orgCal.get(Calendar.YEAR);
int month = orgCal.get(Calendar.MONTH) + 1;
// Calculate no. of month and no. of year should be added
int years_to_add = noOfMonths / 12;
int months_to_add = noOfMonths - 12 * years_to_add;
year += years_to_add;
month += months_to_add;
if (month > 12) {
month -= 12;
year++;
} else if (month < 1) {
month += 12;
year--;
}
// Set the year and month
newCal.set(Calendar.YEAR, year);
newCal.set(Calendar.MONTH, month - 1);
// The input date is last date of month
if (date.equals(lastDate(date))) {
newCal.set(Calendar.DAY_OF_MONTH, newCal
.getActualMaximum(Calendar.DAY_OF_MONTH));
} else if (newCal.getActualMaximum(Calendar.DAY_OF_MONTH) < orgCal
.get(Calendar.DAY_OF_MONTH))
newCal.set(Calendar.DAY_OF_MONTH, newCal
.getActualMaximum(Calendar.DAY_OF_MONTH));
else
newCal
.set(Calendar.DAY_OF_MONTH, orgCal
.get(Calendar.DAY_OF_MONTH));
Date result = newCal.getTime();
orgCal = null;
newCal = null;
return result;
}
分享到:
相关推荐
Java开发工具包(Jave.jar)是一个集合,包含了两个不同版本的Jave库:jave-1.0.2.jar和jave-2.0.jar。这个压缩包旨在为Java开发者提供不同版本的Jave库,以便在各种项目中根据需求选择合适版本。Jave库可能是一个...
Java是一种广泛使用的编程语言,而Jave库是Java平台上的一个工具,专门用于处理多媒体文件,包括视频。在本案例中,"jave-1.0.2获取视频时长"是一个项目或教程,旨在教用户如何利用Jave库来获取视频文件的时长信息。...
"jave-1.0.2.jar"的标题暗示这是一个Java应用程序的归档文件,它可能是一个库或者一个可执行的Java程序。在Java开发中,JAR(Java Archive)文件是一个集合,它将类文件、相关的元数据和其他资源(如图像、声音或...
6. **异常处理与错误排查**:在使用JAVE时,可能会遇到各种问题,如格式不支持、编码错误等,这时需要根据日志信息或异常堆栈进行排查,可能需要查阅JAVE的文档或者FFmpeg的官方文档以获取更详细的解决办法。...
而Jave-1.0.2.jar作为其一个版本,专门用于计算视频的长度,这在很多应用场景中都非常实用,比如视频处理软件、多媒体管理系统或是数据分析平台。 Jave-1.0.2.jar的核心功能在于解析视频文件的元数据,从中提取出...
Java音频视频编码器(JAVE2)是一个强大的工具,它为Java开发者提供了访问FFmpeg项目的接口,使得在Java环境中处理音频和视频转码变得轻松易行。FFmpeg是一款开源的跨平台多媒体处理框架,用于处理各种音频和视频...
Java JAVE(Java Audio Video Encoder)是一个用于音频和视频处理的Java库,它为开发者提供了在Java应用程序中编码和转换多媒体文件的能力。JAVE的核心功能是利用FFmpeg库的跨平台能力,允许开发者轻松地对音频和...
Java音视频处理库Jave是本...总的来说,Jave-1.0.2.jar是一个方便的Java音频处理工具,尤其适用于处理微信AMR语音转MP3的需求。通过理解其基本原理和使用方法,开发人员可以轻松地将音视频处理功能集成到自己的应用中。
Java 1.2,发布于1998年12月,是Java发展历程中的一个重要里程碑。这个版本引入了大量的新特性、改进和优化,极大地提升了Java平台的性能和功能。以下是Java 1.2的一些核心知识点: 1. **Java Collections框架**: ...
Jave 是一个基于 Java 的开源库,它集成了 FFmpeg,使得开发者能够利用 Java 语言进行视频处理和转换任务。FFmpeg 是一个强大的多媒体处理工具,广泛应用于音频和视频的编码、解码、格式转换等场景。通过 Jave 库,...
另一方面,jffmpeg-1.1.0.jar可能是一个与Jave相关的扩展库,或者是Jave的一个特定版本,提供了额外的功能或更新。通常,这种库的更新会修复已知问题,提高性能,或者添加对新FFmpeg版本的支持。例如,jffmpeg可能...
Java Advanced Video Encoder (JAVE) 是一款强大的视频编码工具,专为Java开发者设计,能够方便地将各种视频格式转换为流媒体格式,适合在网络上传输。这个教程针对的是对Java编程有一定基础,同时对视频处理感兴趣...
`jave-1.0.2.2.jar`可能是JAVE(Java Audio Video Encoder)库的版本,这是一个用于音频和视频编码的Java包装器。`Test.java`可能是用于测试音频转换功能的源代码文件。在处理这类问题时,我们需要检查以下几个关键...
在本案例中,我们关注的是"jave-1.0.2"版本,它是一个.jar文件,表明这是一份Java类库。用户可以将其下载并解压后导入到自己的Java项目中,以便利用其功能来获取音频文件的长度。 Jave库的核心功能之一是提供了一种...
请注意,这只是一个基本的示例,实际应用可能需要更复杂的逻辑,例如指定截取特定时间点的帧,或者循环截取多个帧。 Jave库还支持多种视频和音频编码格式,因此它可以处理大多数常见的媒体文件。此外,它的API设计...
在本资源包中,"MAC版最新JAVE"可能指的是一个基于Java的库或框架,专门针对Mac系统进行了优化,使得开发者能够更方便地在Mac上利用Java进行多媒体处理。 JAVE(Java Audio Video Encoder)是一个Java库,用于音频...