java中计算两个日期之间差的天数

Python012

java中计算两个日期之间差的天数,第1张

分类: 电脑/网络 >>程序设计 >>其他编程语言

问题描述:

比如两个日期:2005-12-31和2006-01-05,怎么才能精确的计算出这两个日期之间差的天数?

望回答的详细一些,谢了先.

解析:

import java.text.ParseException

import java.text.SimpleDateFormat

import java.util.Date

class Test2 {

public static String getDate(){

SimpleDateFormat ft = new SimpleDateFormat("yyyy/MM/dd")

Date dd = new Date()

return ft.format(dd)

}

public static long getQuot(String time1, String time2){

long quot = 0

SimpleDateFormat ft = new SimpleDateFormat("yyyy/MM/dd")

try {

Date date1 = ft.parse( time1 )

Date date2 = ft.parse( time2 )

quot = date1.getTime() - date2.getTime()

quot = quot / 1000 / 60 / 60 / 24

} catch (ParseException e) {

e.printStackTrace()

}

return quot

}

public static void main(String[] args) throws Exception {

String date1 = "2008/8/8"

String date2 = getDate()

long day = getQuot(date1,date2)

System.out.println( "距离 "+date1+" 还有 "+day+" 天" )

}

}

你看一下这段代码,是从今天到2008/8/8的天数。

Date的getTime()方法返回自1970年1月1日午夜(通用时间)以来的毫秒数。

用2008/8/8的getTime()减去今天的getTime()就是这两天相差的毫秒数,1秒=1000毫秒,1分钟=60秒,1小时=60分钟,1天=24小时,然后除除除就得到天数了。

java.text.SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd")

// java.util.Calendar calendar = Calendar.getInstance()

//

// Date today = sdf.parse(sdf.format(new Date())) //将今天的日期格式化成 yyyy-MM-dd

// Date chooseDate = sdf.parse("2015-10-01") //将选择是日期转换成Date

// long t = chooseDate.getTime() - today.getTime() //计算两个日期的时间差

// long d = t / (1000 * 60 * 60 * 24) //计算两个日期相差的天数