`

计算两个日期相差的天数,Calendar用法

    博客分类:
  • JAVA
 
阅读更多
/**  
     * 计算两个日期之间相差的天数  
     * @param date1  
     * @param date2  
     * @return  
     */  
    public static int daysBetween(Date date1,Date date2)   
    {   
        Calendar cal = Calendar.getInstance();   
        cal.setTime(date1);   
        long time1 = cal.getTimeInMillis();                
        cal.setTime(date2);   
        long time2 = cal.getTimeInMillis();        
        long between_days=(time2-time1)/(1000*3600*24);   
           
       return Integer.parseInt(String.valueOf(between_days));          
    }  

 

 

2.如何知道某个月有多少天?
public String getDayByMonth(String datetime){
	StringBuffer buffer = new StringBuffer();
	SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM"); 
	Calendar calendar = new GregorianCalendar(); 
	try {
		Date date = sdf.parse(datetime);
		calendar.setTime(date); 
		int day = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
		if(day < 10){
			buffer = buffer.append("-").append("0").append(String.valueOf(day));
		}else{
			buffer = buffer.append("-").append(String.valueOf(day));
		}
	} catch (ParseException e) {
		e.printStackTrace();
	} 
	return buffer.toString();
}

 

 

3. Calendar 的add用法:
add() 的功能非常强大,add 可以对 Calendar 的字段进行计算。如果需要减去值,那么使用负数值就可以了,如 add(field, -value)。

add() 有两条规则:

当被修改的字段超出它可以的范围时,那么比它大的字段会自动修正。如:
Calendar cal1 = Calendar.getInstance();
cal1.set(2000, 7, 31, 0, 0 , 0); //2000-8-31
cal1.add(Calendar.MONTH, 1); //2000-9-31 => 2000-10-1,对吗?
System.out.println(cal1.getTime()); //结果是 2000-9-30

另一个规则是,如果比它小的字段是不可变的(由 Calendar 的实现类决定),那么该小字段会修正到变化最小的值。

以上面的例子,9-31 就会变成 9-30,因为变化最小。

 

 

Calendar calendar = Calendar.getInstance();
// 从一个 Calendar 对象中获取 Date 对象
Date date = calendar.getTime();
calendar.add(Calendar.DAY_OF_YEAR,2);
System.out.println("date="+date);
System.out.println(calendar.getTime());

结果:
date=Thu Aug 26 18:00:42 CST 2010
Sat Aug 28 18:00:42 CST 2010

 

分享到:
评论

相关推荐

    计算两个日期相差的天数

    计算两个日期相差的天数 本文主要介绍了计算两个日期相差的天数的方法,使用 Java 语言实现,...本文介绍了计算两个日期相差的天数的方法,并提供了三个相关代码示例,希望能够帮助读者更好地理解 Java 中的日期计算。

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

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

    Android 获取2个日期相差天数

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

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

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

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

    `Calendar`类是一个抽象类,提供了一个灵活的机制来表示和操作日期和时间,包括计算两个日期之间的天数和周数。`Date`类主要用于存储和表示具体的日期时间点,而`DateFormat`则用于格式化和解析日期字符串。 在Java...

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

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

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

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

    iOS 计算两个时间的间隔,某个时间距离现在的天数

    为了计算两个日期之间的间隔,我们需要创建两个NSDate对象分别代表这两个时间点,然后使用NSTimeInterval,这是一个double类型,表示两个日期之间的时间差(以秒为单位)。 1. 计算两个时间的间隔: ```swift let ...

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

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

    java计算两个时间相差天数的方法汇总

    在Java编程中,计算两个时间相差的天数是一项常见的任务,尤其在处理日期相关的业务逻辑时。本篇文章将深入探讨两种不同的方法来实现这个功能。 首先,我们可以利用`Calendar`类来计算日期之间的天数差。`Calendar`...

    计算时间差以及比较日期大小

    根据给定的信息,本文将详细解释如何在Java中计算两个日期之间的时间差,并演示如何比较两个日期的大小。 ### 计算两个日期间的时间差 #### 使用`java.util.Date`和`java.text.SimpleDateFormat` 首先,我们需要...

    python 计算两个日期相差多少个月实例代码

    尽管Python的标准库如`datetime`, `calendar`, 和 `dateutil`提供了丰富的日期处理功能,但它们并未直接提供计算两个日期相差月数的方法。本篇文章将深入探讨如何实现这个功能,并提供一个自定义的解决方案。 首先...

    JAVA计算两个日期相差的实例

    以下是一个基于`Calendar`类的实例,它演示了如何计算两个日期相差的天数。 首先,我们需要了解`Calendar`类。`Calendar`是一个抽象类,提供了表示日期和时间的框架。它包含各种日历字段,如年(`Calendar.YEAR`)...

    Android编程实现计算两个日期之间天数并打印所有日期的方法

    在Android开发中,有时我们需要计算两个日期之间相差的天数,并且可能还需要遍历并打印出这两个日期之间所有的中间日期。这个任务涉及到日期和时间的处理,主要使用Java的日期和日历类。以下是实现这一功能的关键...

    计算天数 java练习

    5. **日期计算**: 在实际编程中,我们可能需要计算两个日期之间的差值,比如计算生日、节假日等。使用`java.time`包的`Duration`或`Period`类可以轻松实现。 6. **闰年判断**: 判断一个年份是否是闰年,可以使用...

    java 日期计算

    这个名为"java 日期计算"的项目提供了一个简单的解决方案,用于计算两个日期之间的差值,即相差的天数。下面我们将深入探讨相关的Java日期处理知识。 Java中的日期和时间API主要有两个版本:一个是早期的`java.util...

    java小程序实现日历的计算

    这个程序的核心功能包括月历的输出、日期的判断以及计算两个日期之间的相差天数。下面将详细讲解这些知识点。 首先,月历的输出是通过Java的`Calendar`类或者Java 8中的`java.time`包来实现的。`Calendar`是Java...

    java日期操作工具类(获取指定日期、日期转换、相隔天数)

    要计算两个日期之间的相隔天数,可以使用`Calendar`类。首先,将两个日期设置到`Calendar`对象中,然后通过比较它们的日期字段(`Calendar.DATE`)并考虑月份和年份的变化来计算差值。如果需要精确计算,可以使用`...

    计算两天之间的月数.rar

    因此,更准确的方法是计算两个日期之间的总天数,然后除以平均每个月的天数(假设为30天),并进行适当的四舍五入: ```python def months_between_dates(date1, date2): delta_days = (date2 - date1).days avg_...

Global site tag (gtag.js) - Google Analytics