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

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

时间: 2024-10-25 15:19:19

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

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

//获取两个日期之间的天数private int daysBetween(Date now, Date returnDate) { Calendar cNow = Calendar.getInstance(); Calendar cReturnDate = Calendar.getInstance(); cNow.setTime(now); cReturnDate.setTime(returnDate); setTimeToMidnight(cNow); setTimeToMidnight(cR

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

一.三种情况 HttpSession session = request.getSession(); HttpSession session = request.getSession(true); HttpSession session = request.getSession(false); 二.三种情况之间的差异 getSession(boolean create)意思是返回当前reqeust中的HttpSession ,如果当前reqeust中的HttpSession 为null,当cre

java获取日期

/* * 获取昨天日期 方法一,这个方法好像有点慢 */ Date dt = new Date(); Calendar cal = Calendar.getInstance(); cal.add(Calendar.DATE, -1); time = new SimpleDateFormat( "yyyy-MM-dd").format(cal.getTime()); /* * 获取昨天日期 方法二 */ Date as = new Date(new Date().getTime()-24

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

Date date=new Date();//取时间 Calendar calendar = new GregorianCalendar(); calendar.setTime(date); calendar.add(calendar.DATE,1);//把日期往后增加一天.整数往后推,负数往前移动 date=calendar.getTime(); //这个时间就是日期往后推一天的结果 SimpleDateFormat formatter = new SimpleDateFormat("yyyy

java 实现 日期之间的天数差

package date; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class datejisuan { /** * @param args * @throws ParseException */ public static void main(String[] args) throw

C#获取两个日期之间的间隔

在应用程序开发的过程中,很多时候涉及到时间的操作,例如时间的大小比较以及两个时间的间隔.此文就简单介绍下C#语言如何获取两个时间之前的间隔.在C#中获取两个时间之间的间隔需要使用到TimeSpan类,该对象表示两个日期之间的差异.TimeSpan结构用于测量持续时间的最大时间单位是一天.时间间隔以天为单位进行测量,以确保一致性,因为较大单位时间(例如月和年)的天数会有所不同.TimeSpan对象的值是等于表示的时间间隔的刻度数.刻度等于100纳秒,或一千万分之一秒.获取两个时间的间隔可以使用下列

计算两个日期之间的工作日天数

最近遇到要求两个日期之间的工作日天数的问题,遂在网上找了下js的代码,参考了下别人的代码,发现写的都有些冗余,于是自己思考,进行了一下简单处理.主要是在循环处理上进行了精简. 对剩余天数的循环,也就可以考虑是对开始日期到剩余天数之间的处理,循环开始日期到剩余天数之间有多少个周六周日(最多只有一个周六或者一个周日),由于当前开始日期在(0-6)之间,也就是当前开始日期的星期对应的数字加上剩余天数(0-6)的循环一定在(0-11)之间,所以0,7代表周日,6代表周六. <html> <hea

Java 获取两个日期之间的日期

1.前期需求,两个日期,我们叫他startDate和endDate,然后获取到两个日期之间的日期 /** * 获取两个日期之间的日期 * @param start 开始日期 * @param end 结束日期 * @return 日期集合 */ private List<Date> getBetweenDates(Date start, Date end) { List<Date> result = new ArrayList<Date>(); Calendar tem

Java 根据给定的日期,计算两个日期之间的时间差

计算两个Date之间的时间差,基本思路为把Date转换为ms(微秒),然后计算两个微秒时间差. 时间的兑换规则如下: 1s秒 = 1000ms毫秒 1min分种 = 60s秒 1hours小时 = 60min分钟 1day天 = 24hours小时 package com.qiyadeng.date; import java.text.SimpleDateFormat; import java.util.Date; public class DateDifferentExample { publ