java获取日期之间的差异
转载请注明出处。谢谢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获取日期之间的差异的更多相关文章
- java获取日期之间天数的方法
//获取两个日期之间的天数private int daysBetween(Date now, Date returnDate) { Calendar cNow = Calendar.getInstan ...
- java 获取日期的几天前,几个月前和几年前
java 获取日期的几天前,几个月前和几年前. package bys.utils; import java.util.Date; /** * Created by toutou on 2015/3/ ...
- request.getSession()几种获取情况之间的差异
一.三种情况如下 HttpSession session = request.getSession(); HttpSession session = request.getSession(true); ...
- (转)request.getSession()几种获取情况之间的差异
一.三种情况 HttpSession session = request.getSession(); HttpSession session = request.getSession(true); H ...
- Java获取日期属于当年第几周
String today = "2013-01-14"; SimpleDateFormat format = new SimpleDateFormat("yyyy-MM- ...
- java获取日期 昨天 今天 明天的日期
Date date=new Date();//取时间 Calendar calendar = new GregorianCalendar(); calendar.setTime(date); cale ...
- java获取日期
/* * 获取昨天日期 方法一,这个方法好像有点慢 */Date dt = new Date(); Calendar cal = Calendar.getInstance();cal.add(Cale ...
- Java和JavaScript之间的区别
1.简介 通过优锐课核心java学习笔记中,我们可以看到,Java和JavaScript之间的区别.我们将在本文中比较Java语言和JavaScript语言.JavaScript由Netscape开发 ...
- java 获取两个日期之间的所有日期(年月日)
前言:直接上代码 java 获取两个日期之间的所有日期(年月日) /** * 获取两个日期之间的日期,包括开始结束日期 * @param start 开始日期 * @param end 结束日期 * ...
随机推荐
- Sprite Kit教程:制作一个通用程序 2
注1:本文译自Sprite Kit Tutorial: Making a Universal App: Part 2 目录 动画的定义:可行性 属性列表 添加游戏逻辑 添加音效 何去何从 上一篇文章中 ...
- Eclipse Maven 插件地址
http://download.eclipse.org/technology/m2e/releases maven 插件安装地址
- nohup命令与&区别,jobs,fg,bg,Ctrl-Z、Ctrl-C、Ctrl-D
&方式: Unix/Linux下一般想让某个程序在后台运行,很多都是使用 & 在程序结尾来让程序自动运行.比如我们要运行mysql在后台: /usr/local/my ...
- FastDFS概要
本篇文章是我上级老大所写. 留在这里为了不弄丢. FastDFS是一款开源的轻量级分布式文件系统 纯C实现,支持Linux, FreeBSD等UNIX系统 类google FS, 不是通用的文件系统, ...
- MFC 在对话框显示图片的多种方法
我们先从简单的开始吧.先分一个类: (一) 非动态显示图片(即图片先通过资源管理器载入,有一个固定ID) (二) 动态载入图片(即只需要在程序中指定图片的路径即可载入) 为方便说明,我们已经建好一 ...
- 【Demo 0001】Java基础-数据类型
本章学习要点: 1. 了解Java 语言 2. 了解Java程序结构; 3. 了解Java中基本数据类型; 4. 掌握基本数据类型之间的运算 ...
- 【Demo 0015】位置服务及地图
本章学习要点: 1. 掌握位置相关类(CLLocationManager,MKUserLocation) 基本用法; 2. 掌握地图视图(MKMapView)基本用法; ...
- 一个计算器的C语言实现
今天在读<编译原理及实践>时.看到了一个简单的整数计算器的实现. 依照书上的思路,我略微进行了扩展: 1.从整数计算器扩展到小数计算器. 2.支持除法 3.支持空字符. 执行效果例如以下: ...
- [iOS]简单的APP引导页的实现 (Swift)
在第一次打开APP或者APP更新后通常用引导页来展示产品特性 我们用NSUserDefaults类来判断程序是不是第一次启动或是否更新,在AppDelegate.swift中加入以下代码: func ...
- linux 下opensplice的简易安装
http://www.prismtech.com/opensplice/opensplice-dds-community/software-downloads 下载对应我选择的是: OpenSplic ...