`
在水伊方
  • 浏览: 111083 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

JAVA计算2个日期之间的相差天数

    博客分类:
  • Java
 
阅读更多
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;

/**
 * 计算2个日期之间的相差天数
 */
public class CountTimeDiff {
	public static void main(String[] args) {
		try {
			// 日期格式 
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Date smallDate = sdf.parse("2013-04-30");
			Date bigDate = sdf.parse("2013-05-01");
			System.out.println(daysBetween(smallDate, bigDate));

			// 字符串格式
			System.out.println(daysBetween("2012-02-09", "2013-05-09")); 
		} catch (ParseException e) {
			e.printStackTrace();
		}
	}

	/**
	 * 计算2个日期之间相差的天数
	 * 
	 * @param smallDate
	 *            较小的日期
	 * @param bigDate
	 *            较大的日期
	 * @return 相差天数
	 * @throws ParseException
	 */
	public static int daysBetween(Date smallDate, Date bigDate)
			throws ParseException {
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

		smallDate = sdf.parse(sdf.format(smallDate));
		bigDate = sdf.parse(sdf.format(bigDate));

		Calendar calendar = Calendar.getInstance(Locale.CHINA);

		calendar.setTime(smallDate);
		long smallDateTime = calendar.getTimeInMillis();

		calendar.setTime(bigDate);
		long bigDateTime = calendar.getTimeInMillis();

		long betweenDays = (bigDateTime - smallDateTime) / (1000 * 3600 * 24);
		return Integer.parseInt(String.valueOf(betweenDays));
	}

	/**
	 * 
	 * @param smallDate
	 *            较小的日期
	 * @param bigDate
	 *            较大的日期
	 * @return 相差天数
	 * @throws ParseException
	 */
	public static int daysBetween(String smallDate, String bigDate)
			throws ParseException {
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

		Calendar calendar = Calendar.getInstance(Locale.CHINA);

		calendar.setTime(sdf.parse(smallDate));
		long smallDateTime = calendar.getTimeInMillis();

		calendar.setTime(sdf.parse(bigDate));
		long bigDateTime = calendar.getTimeInMillis();

		long betweenDays = (bigDateTime - smallDateTime) / (1000 * 3600 * 24);
		return Integer.parseInt(String.valueOf(betweenDays));
	}
}

 

分享到:
评论

相关推荐

    Java 计算两个日期之间相差的月数

    在Java编程语言中,计算两个日期之间相差的月数是一个常见的任务,这通常涉及到日期处理和时间计算。本文将深入探讨如何使用Java实现这个功能,包括标准库中的API以及一些高级方法。 首先,Java 8引入了`java.time`...

    计算两个日期相差的天数

    本文主要介绍了计算两个日期相差的天数的方法,使用 Java 语言实现,并提供了三个相关代码示例。 计算两个日期相差的天数 计算两个日期相差的天数是一个常见的需求,例如计算两个日期之间的时间间隔。在 Java 中,...

    计算2个日期相差天数、去除节假日周末

    接下来,我们需要一个函数来计算两个日期之间的总天数。C++标准库中的`chrono`模块可以方便地处理日期和时间的计算。我们可以通过`std::chrono::days`来表示日期差: ```cpp std::chrono::days daysBetween(const ...

    java中计算两个日期相差几天

    ### Java中计算两个日期相差几天 在Java编程中,经常需要处理与日期和时间相关的操作。其中一项常见的需求就是计算两个日期之间的差距。本篇文章将详细介绍如何在Java中计算两个日期相差几天,并深入探讨示例代码中...

    Java中计算两个日期相差天数和比较2日期先后顺序

    ### Java中计算两个日期相差天数 在Java中,计算两个日期之间相差的天数是一项常见且实用的功能。本文将详细介绍如何使用`SimpleDateFormat`、`Date`以及`Calendar`类来实现这一功能。 #### 代码解读 首先,我们...

    JAVA求两个日期之间相差的天数

    在Java编程中,计算两个日期之间相差的天数是一个常见的任务,这通常涉及到日期类的使用。Java提供了多种处理日期和时间的类,比如`java.util.Date`、`java.util.Calendar`以及`java.time`包中的`LocalDate`等。在本...

    java计算两个日期相隔的天数

    在Java编程语言中,计算两个日期之间的天数差是一个常见的任务,这在处理时间相关的业务逻辑时非常有用。本文将详细介绍如何使用Java进行此类计算,包括基础方法、API的使用以及可能遇到的问题。 首先,Java提供了`...

    利用Java中Calendar计算两个日期之间的天数和周数

    在Java中,计算两个日期之间的天数通常涉及以下几个步骤: 1. 创建`Calendar`实例:首先,通过调用`Calendar.getInstance()`方法获取一个`Calendar`对象,这会返回一个默认的`GregorianCalendar`实例,因为Java默认...

    比较两个日期之间相差的天数

    ### 比较两个日期之间相差的天数 在Java编程语言中,比较两个日期之间的差值是一个常见的需求,尤其是在处理日历相关的功能时。本文将详细介绍如何在Java中计算两个日期之间的天数差,并对给出的代码进行解析。 ##...

    计算除周六日、法定节假日以外两个日期之间的间隔天数

    计算除周六日、法定节假日以外两个日期之间的间隔天数

    Android 获取2个日期相差天数

    在Android开发中,有时我们需要计算两个日期之间的差值,例如计算两个生日之间相差多少天,或者确定一个事件...以上就是如何在Android中获取两个日期相差天数的方法,你可以根据具体需求将这段代码整合到你的项目中。

    Java判断两个日期相差天数的方法

    在Java编程中,有时我们需要计算两个日期之间的差异,比如判断两个日期相差的天数。这里主要介绍两种不同的方法来实现这个功能。 首先,我们可以使用`java.util.Calendar`类来计算两个日期之间的差值。以下是一个...

    获取两个日期类型相差天数

    获取两个日期之间的天数,使用整数计量而不是毫秒数约算,例:2017-11-26 23:59:59 与2017-11-27 00:00:00相差天数是1.

    日期工具类 可以进行日期天数计算

    这个工具类是计算两个时间相差多少天的工具类以及格式化时间

    指定两个日期计算相隔的天数

    - 计算日期差时要考虑日期的顺序,因为"日期2 - 日期1"和"日期1 - 日期2"的结果是相反的。 - 跨越闰年和不同月份的天数差异也需要考虑,比如2月29日的情况。 - 在SQL中,`DATEDIFF`函数的结果可能是负数,取决于...

    计算两天之间的天数.rar

    在Python和Java中,可以直接计算日期差得到天数;而在JavaScript中,由于`Date`对象的差值是毫秒,所以需要转换成天数。 对于更复杂的时间计算,如跨越闰年、时区转换等,这些语言都提供了丰富的API来处理。在实际...

    Java编程输入两个年月日,(1)判断两个日期是否相同,并且将相差的天数显示出来;(2)将日期后推或前推N天,并将该日期输出。

    - **ZongTian()**:计算日期到公元0年1月1日的总天数。这是通过遍历从公元0年到当前日期每一年的天数来实现的,其中考虑了闰年的情况。 - **increaseDay()** 和 **decreaseDay()**:分别用于将日期向前或向后推进...

    Java日期工具类

    16、计算传入的两个日期之间相差的天数 17、根据传入的年月返回该月的第一天 18、根据传入的年月返回该月最后的一天 19、获得当前月份的第一天 20、获得当前月份的最后一天 21、获取上月的第一天 22、获取上月的最后...

    一个可以计算天数的软件

    "一个可以计算天数的软件"指的是一个专门设计用于计算两个日期之间相差天数的应用程序。这样的工具可以帮助用户快速、准确地执行日期相关的计算,无论是在日常生活中还是在专业工作中。 首先,我们来探讨一下日期和...

    计算天数 java练习

    在Java编程语言中,计算天数是一个常见的任务,可以应用于日期处理、日历计算等多种场景。这个"计算天数"的Java练习旨在帮助初学者掌握日期时间API的使用,提高编程技能。Java提供了多种方式来处理日期和时间,其中...

Global site tag (gtag.js) - Google Analytics