`

Jave获取当前日期的上一个月最后一天或者下一个月最后一天

    博客分类:
  • java
阅读更多
	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;
	}
分享到:
评论

相关推荐

    jave.jar(包含jave-1.0.2.jar和jave-2.0.jar)

    Java开发工具包(Jave.jar)是一个集合,包含了两个不同版本的Jave库:jave-1.0.2.jar和jave-2.0.jar。这个压缩包旨在为Java开发者提供不同版本的Jave库,以便在各种项目中根据需求选择合适版本。Jave库可能是一个...

    jave-1.0.2获取视频时长

    Java是一种广泛使用的编程语言,而Jave库是Java平台上的一个工具,专门用于处理多媒体文件,包括视频。在本案例中,"jave-1.0.2获取视频时长"是一个项目或教程,旨在教用户如何利用Jave库来获取视频文件的时长信息。...

    jave-1.0.2.jar(多个版本jar包)

    "jave-1.0.2.jar"的标题暗示这是一个Java应用程序的归档文件,它可能是一个库或者一个可执行的Java程序。在Java开发中,JAR(Java Archive)文件是一个集合,它将类文件、相关的元数据和其他资源(如图像、声音或...

    jave2.0jar包下载

    6. **异常处理与错误排查**:在使用JAVE时,可能会遇到各种问题,如格式不支持、编码错误等,这时需要根据日志信息或异常堆栈进行排查,可能需要查阅JAVE的文档或者FFmpeg的官方文档以获取更详细的解决办法。...

    jar包jave-1.0.2.jar

    而Jave-1.0.2.jar作为其一个版本,专门用于计算视频的长度,这在很多应用场景中都非常实用,比如视频处理软件、多媒体管理系统或是数据分析平台。 Jave-1.0.2.jar的核心功能在于解析视频文件的元数据,从中提取出...

    jave资源.zip

    Java音频视频编码器(JAVE2)是一个强大的工具,它为Java开发者提供了访问FFmpeg项目的接口,使得在Java环境中处理音频和视频转码变得轻松易行。FFmpeg是一款开源的跨平台多媒体处理框架,用于处理各种音频和视频...

    jave-1.0.2.zip

    Java JAVE(Java Audio Video Encoder)是一个用于音频和视频处理的Java库,它为开发者提供了在Java应用程序中编码和转换多媒体文件的能力。JAVE的核心功能是利用FFmpeg库的跨平台能力,允许开发者轻松地对音频和...

    jave-1.0.2.jar

    Java音视频处理库Jave是本...总的来说,Jave-1.0.2.jar是一个方便的Java音频处理工具,尤其适用于处理微信AMR语音转MP3的需求。通过理解其基本原理和使用方法,开发人员可以轻松地将音视频处理功能集成到自己的应用中。

    jave1.2.jar

    Java 1.2,发布于1998年12月,是Java发展历程中的一个重要里程碑。这个版本引入了大量的新特性、改进和优化,极大地提升了Java平台的性能和功能。以下是Java 1.2的一些核心知识点: 1. **Java Collections框架**: ...

    jave1.0.2源码和jar包

    Jave 是一个基于 Java 的开源库,它集成了 FFmpeg,使得开发者能够利用 Java 语言进行视频处理和转换任务。FFmpeg 是一个强大的多媒体处理工具,广泛应用于音频和视频的编码、解码、格式转换等场景。通过 Jave 库,...

    ffmpeg&jave;

    另一方面,jffmpeg-1.1.0.jar可能是一个与Jave相关的扩展库,或者是Jave的一个特定版本,提供了额外的功能或更新。通常,这种库的更新会修复已知问题,提高性能,或者添加对新FFmpeg版本的支持。例如,jffmpeg可能...

    JAVE图解实用教程

    Java Advanced Video Encoder (JAVE) 是一款强大的视频编码工具,专为Java开发者设计,能够方便地将各种视频格式转换为流媒体格式,适合在网络上传输。这个教程针对的是对Java编程有一定基础,同时对视频处理感兴趣...

    解决Jave在linux下转为MP3时异常

    `jave-1.0.2.2.jar`可能是JAVE(Java Audio Video Encoder)库的版本,这是一个用于音频和视频编码的Java包装器。`Test.java`可能是用于测试音频转换功能的源代码文件。在处理这类问题时,我们需要检查以下几个关键...

    jave-1.0.2

    在本案例中,我们关注的是"jave-1.0.2"版本,它是一个.jar文件,表明这是一份Java类库。用户可以将其下载并解压后导入到自己的Java项目中,以便利用其功能来获取音频文件的长度。 Jave库的核心功能之一是提供了一种...

    jave 中视频中截取图片

    请注意,这只是一个基本的示例,实际应用可能需要更复杂的逻辑,例如指定截取特定时间点的帧,或者循环截取多个帧。 Jave库还支持多种视频和音频编码格式,因此它可以处理大多数常见的媒体文件。此外,它的API设计...

    MAC版最新JAVE+ffmpeg

    在本资源包中,"MAC版最新JAVE"可能指的是一个基于Java的库或框架,专门针对Mac系统进行了优化,使得开发者能够更方便地在Mac上利用Java进行多媒体处理。 JAVE(Java Audio Video Encoder)是一个Java库,用于音频...

Global site tag (gtag.js) - Google Analytics