转载请注明出处。谢谢http://blog.csdn.net/harryweasley/article/details/42121485

当想到要计算差值。我们肯定想的是“2014.12.14”-“2014.12.20”=4,这个方案,可是java并没有直接给我们这个方案,所以我想的是,将字符串转化为Date类型,继而又将

date转化为Calendar类型,通过Calendar.add()方法来解决这种方法。

package lgx.java.test;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.GregorianCalendar; public class DataDemo {
public static void main(String[] args) throws ParseException { String firstTime = "2014.12.24 ";
String secondTime = "2014.12.20"; System.out.println(getDay(firstTime, secondTime));
} private static int getDay(String firstTime, String secondTime)
throws ParseException {
int day = 0;
//实例化Calendar
Calendar calendar = new GregorianCalendar();
Calendar calendar2 = Calendar.getInstance();
//通过SimpleDateFormat将字符串解析为Date类型
SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd");
sdf.parse(firstTime);
sdf.parse(secondTime); System.out.println("\n第一次的时间" + sdf.parse(firstTime));
System.out.println("\n第二次的时间" + sdf.parse(secondTime)); //将Date类型放入Calendar
calendar.setTime(sdf.parse(firstTime));
calendar2.setTime(sdf.parse(secondTime)); while (calendar.compareTo(calendar2) > 0) { //Calendar类型中的日期+1
calendar2.add(Calendar.DATE, 1);
day++;
}
return day;
} }

输出结果为

第一次的时间Wed Dec 24 00:00:00 CST 2014

第二次的时间Sat Dec 20 00:00:00 CST 2014
4

注意:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd");

sdf.parse(firstTime)这里我必需要说一下。转化的字符串和simpleDateFormat一定要是一模一样,我刚刚就犯了一个错误。将SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");写成这个样子,就会抛异常了。

代码中已经进行了凝视,应该能够看得明确。

关于java的日期相关类,你能够点击这里http://blog.csdn.net/harryweasley/article/details/41977633

版权声明:本文博客原创文章,博客,未经同意,不得转载。

java获取日期之间的差异的更多相关文章

  1. java获取日期之间天数的方法

    //获取两个日期之间的天数private int daysBetween(Date now, Date returnDate) { Calendar cNow = Calendar.getInstan ...

  2. java 获取日期的几天前,几个月前和几年前

    java 获取日期的几天前,几个月前和几年前. package bys.utils; import java.util.Date; /** * Created by toutou on 2015/3/ ...

  3. request.getSession()几种获取情况之间的差异

    一.三种情况如下 HttpSession session = request.getSession(); HttpSession session = request.getSession(true); ...

  4. (转)request.getSession()几种获取情况之间的差异

    一.三种情况 HttpSession session = request.getSession(); HttpSession session = request.getSession(true); H ...

  5. Java获取日期属于当年第几周

    String today = "2013-01-14"; SimpleDateFormat format = new SimpleDateFormat("yyyy-MM- ...

  6. java获取日期 昨天 今天 明天的日期

    Date date=new Date();//取时间 Calendar calendar = new GregorianCalendar(); calendar.setTime(date); cale ...

  7. java获取日期

    /* * 获取昨天日期 方法一,这个方法好像有点慢 */Date dt = new Date(); Calendar cal = Calendar.getInstance();cal.add(Cale ...

  8. Java和JavaScript之间的区别

    1.简介 通过优锐课核心java学习笔记中,我们可以看到,Java和JavaScript之间的区别.我们将在本文中比较Java语言和JavaScript语言.JavaScript由Netscape开发 ...

  9. java 获取两个日期之间的所有日期(年月日)

    前言:直接上代码 java 获取两个日期之间的所有日期(年月日) /** * 获取两个日期之间的日期,包括开始结束日期 * @param start 开始日期 * @param end 结束日期 * ...

随机推荐

  1. 【Cocos2d-X游戏实战开发】捕鱼达人之开发前准备工作(一)

    本系列学习教程使用的是cocos2d-x-2.1.4(最新版为cocos2d-x-2.1.5) 博主发现前两个系列的学习教程被严重抄袭,在这里呼吁大家请尊重开发者的劳动成果, 转载的时候请务必注明出处 ...

  2. Swift - 动画效果的实现方法总结(附样例)

    在iOS中,实现动画有两种方法.一个是统一的animateWithDuration,另一个是组合出现的beginAnimations和commitAnimations.这三个方法都是类方法. 一,使用 ...

  3. C#/IOS/Android通用加密解密方法

    原文:C#/IOS/Android通用加密解密方法 公司在做移动端ios/android,服务器提供接口使用的.net,用到加密解密这一块,也在网上找了一些方法,有些是.net加密了android解密 ...

  4. java.text.MessageFormat格式化字符串时的小技巧

    java.text.MessageFormat格式化字符串时的小技巧 public static void main(String[] args) throws InterruptedExceptio ...

  5. c++ 类名和enum时重复时要在类名前加class::

    c++ 类名和enum时重复时要在类名前加class:: 一些不好的习惯都是用小写,但又没有区分开token,看看代码再说,下面的代码是我在测试polymorphism时写的一部分,怎么也查不出,最后 ...

  6. ThinkPHP运算符 与 SQL运算符 对比表

    ThinkPHP运算符 与 SQL运算符 对比表 TP运算符 SQL运算符 样例 实际查询条件 eq = $map['id'] = array('eq',100); 等效于:$map['id'] =  ...

  7. 网站教学 提纲总结到ajax结束后面还有

    Repeater - 重复器五个模板:HeaderTemplate - 在最上面,显示一次FooterTemplate - 最下面,显示一次ItemTemplate - 在中间,显示n次Alterna ...

  8. jquery的click事件对象试解

    在写这篇文档的时候,我并没有深入的去了解jquery的事件对象是什么样的构造,不过以我以往的经验,相信能说道说道,并且可能有百分之八十是正确的,所以我并不建议这篇文档具备一定的权威性,不过可以当成饭后 ...

  9. 随想录(关于ucore)

    [ 声明:版权全部,欢迎转载.请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 之前用过一段时间skyeye,也对开发skyeye的陈渝有一些了解.近期在github上闲逛的 ...

  10. CentOS IP丢失,切换了网络连接导致的vmnet8未启用dhcp

    解决了, 这个问题是我在开启虚拟机ubuntu系统的过程中, 在主机win7上切换了网络连接导致的, 就是刚开始我用的无线宽带上网, 此时开启了ubuntu ,然后使用过程中,我在win7上切换回静态 ...