您的位置:首页 > 其它

20-07-其他对象API(Date类-练习)

2015-08-11 10:32 267 查看
package cn.itcast.date.test;

import java.text.DateFormat;
import java.text.ParseException;
import java.util.Date;

public class DateTest {

public static void main(String[] args) throws ParseException {
/**
* 【练习】 2012-3-17到2012-4-6中间多少天?
*
* 【思路】 两个日期相减就可以,日期不能直接减,但是可以通过毫秒值减,因为可以将现有日期换算成毫秒值, 即从1970年1月1日起的毫秒值。
* 1.将日期格式字符串转成Date对象(即日期对象); 2.将Date对象变成毫秒值 3.将俩毫秒值相减,换算成天数。
*/
String str_date1 = "2012-3-17";
String str_date2 = "2012-4-6";
test(str_date1, str_date2);
}

public static void test(String str_date1, String str_date2)
throws ParseException {

// 将日期格式字符串转成Date对象
DateFormat dateFormat = DateFormat.getDateInstance();
Date date1 = dateFormat.parse(str_date1);
Date date2 = dateFormat.parse(str_date2);

// 将Date对象变成毫秒值
long time1 = date1.getTime();
long time2 = date2.getTime();
long time = Math.abs(time1 - time2);// 调用Math类中绝对值方法,防止时间差为负数

int day = getDay(time);
System.out.println(day);

}

private static int getDay(long time) {

int day = (int)(time/1000/60/60/24);
return day;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: